Ir para o conteúdo

PhAST - API

Sumário das urls utilizadas na API

Módulo url
additionalInfo package://paystore#endpoint/additionalInfo.wmlsc
CommConst package://phast#comm/const.wmlsc
Datetime package://phast#utils/datetime.wmlsc
Display package://phast#utils/display.wmlsc
Error package://phast#utils/error.wmlsc
EvtManager package://phast#events/manager.wmlsc
Field package://phast#trns/field.wmlsc
Format package://phast#utils/format.wmlsc
GlobalComm package://phast#comm/global_comm.wmlsc
Input package://phast#ui/input.wmlsc
Math package://tef#util/math.wmlsc
Message package://tefui#ui/message.wmlsc
Operations package://phast#utils/operations.wmlsc
PhastMessage package://phast#i18n/messages.wmlsc
Report package://tef#report/report.wmlsc
Rpt package://tef#report/rpt.wmlsc
Service package://phast#applet/service.wmlsc
TefMessage package://tef#i18n/message.wmlsc
Util package://paystore#util/util.wmlsc
Validator package://phast#utils/validator.wmlsc

additionalInfo

package://paystore#endpoint/additionalInfo.wmlsc

Este módulo envia informações customizadas pelo usuário para a PayStore.

execute

execute(addInfoList)

Envia informações adicionais de pagamento em formato Json para a PayStore.

Parâmetros
  • addInfoList – Lista que contém objeto JSON do pacote package://libs#json/json.wmlsc
Retorno

Se sucesso retornaram uma lista vazia, caso ocorra erro será retornado uma lista com o número do nsu que ocorreu erro.

Exemplo:

Exemplo de mensageria de envio:

{
  "payments": [{
          "paystoreNsu":  4995627,
          "merchantSpecificId":   "000179",
          "acquirerSpecificId":   "06",
          "totalSaleValue":   "10000",
          "transactionDate":  "03/01/19 17:02:14",
          "type": "split",
          "jsonAdditionalInfo":   [{
                  "idProfessional":   3,
                  "professionalName": "Makson Felix",
                  "nickName": "Makson",
                  "cpfCnpj":  "18181780026",
                  "cellPhone":    "998765402",
                  "email":    "makson.felix@phoebus.com.br",
                  "formCommissioning":    0,
                  "percentValue": "0",
                  "commissionValue":  "2500",
                  "splitValue":   "2500"
              }],
          "terminalSpecificId":   "TESMAK1"
      }]
}
/******************************************************************************/
use url Json        "package://libs#json/json.wmlsc";
use url AddInfo     "package://paystore#endpoint/additionalInfo.wmlsc";
use url Datetime    "package://phast#utils/datetime.wmlsc";
/******************************************************************************/
extern function start()
{
  send();
}
/******************************************************************************/
function prepareInfoData()
{
  var list    = [];
  var listRoot= [];
  var root = Json#create();

  Json#add(root,  "paystoreNsu",           4995627);
  Json#add(root,  "merchantSpecificId",    "000179");
  Json#add(root,  "acquirerSpecificId",    "06");
  Json#add(root,  "totalSaleValue",        "10000");
  var transactionDate = PhSystem.getDate("DD/MM/YYYY");
  Json#add(root,  "transactionDate",       Datet#dateTimeAsStr("DD/MM/YY hh:mm:ss",  transactionDate));
  Json#add(root,  "type",                  "app1");

  var children1 = Json#create();
  Json#add(children1,  "name",   "jose da silva");
  Json#add(children1,  "phone",  "83999999999");
  Json#add(children1,  "email",  "josedasilva@gmail.com");

  var children2 = Json#create();
  Json#add(children1,  "name",   "maria da silva");
  Json#add(children1,  "phone",  "83988888888");
  Json#add(children1,  "email",  "mariadasilva@gmail.com");

  PhList.add(list,  children1);
  PhList.add(list,  children2);

  Json#add(root,  "jsonAdditionalInfo", list);

  PhList.add(listRoot,  root);

  return listRoot;
}
/******************************************************************************/
function send()
{
  var info = prepareInfoData();

  var listNsuWithFail = AddInfo#execute(info);

  if (isvalid(listNsuWithFail))
  {
    if (PhList.count(listNsuWithFail) == 0)
    {
      Dialogs.alert("enviado com sucesso");
    }
    else
    {
      Dialogs.alert("Ocorreu erro ao enviar transações para paystore.");
    }
  }
  else
  {
    Dialogs.alert("Ocorreu erro na comunicação com a paystore.");
  }
}

CommConst

package://phast#comm/const.wmlsc

Constantes

Atributo Valor Descrição
USAGE_PHDM 0 Uso atendido pelo servidor
USAGE_INITIALIZATION 1 Uso atendido pelo servidor
USAGE_TRANSACTION 2 Uso atendido pelo servidor
USAGE_KEEP_ALIVE 3 Uso atendido pelo servidor
USAGE_CUSTOM 4 Uso atendido pelo servidor
OP_INITIALIZATION 0 Operação de inicialização
OP_INITIALIZATION_RESP 1 Operação de inicialização
OP_INITIALIZATION_CONFIRM 2 Operação de inicialização
SIZE_TYPE_NONE 0 Tipo de tamanho
SIZE_TYPE_BIG_ENDIAN 1 Tipo de tamanho
SIZE_TYPE_LITTLE_ENDIAN 2 Tipo de tamanho
SIZE_TYPE_SHORT_BIG 3 Tipo de tamanho
SIZE_TYPE_SHORT_LITTLE 4 Tipo de tamanho
SIZE_TYPE_CRC_SHORT_BIG 5 Tipo de tamanho
FRAGMENTATION_TYPE_NONE 0 Tipo de fragmentação
FRAGMENTATION_TYPE_PHPACKET 1 Tipo de fragmentação
FRAGMENTATION_TYPE_FASTXM 2 Tipo de fragmentação
SEC_METHOD_PHSEC 0 Tipo de segurança
SEC_METHOD_NONE 1 Tipo de segurança
SEC_METHOD_TLS 2 Tipo de segurança
OP_TRANSACTION 3 Operação de transação
OP_TRANSACTION_PROG_DYNAMIC 4 Operação de transação
OP_TRANSACTION_RESP 5 Operação de transação
OP_TRANSACTION_CONFIRM 6 Operação de transação
OP_ERROR 7 Operação de transação
OP_KEEP_ALIVE 8 Operação de transação
ERROR_NONE 0 Estado da conexão: Sem erros
ERROR_FROM_SERVER 1 Estado da conexão: Erro recebido do servidor
ERROR_SERVER_RECV Lang.parseInt(Errors#E_COMM_RECV_FAIL_CODE) Estado da conexão: Erro recebendo dados
ERROR_SERVER_SENDING Lang.parseInt(Errors#E_COMM_SEND_FAIL_CODE) Estado da conexão: Erro enviando dados
ERROR_HANDLER_CALLING 5 Estado da conexão: Erro handler
ERROR_INVALID_PARAMS 6 Estado da conexão: Parámetros não podem executar a funcionalidade
ERROR_USER_ABORT 7 Estado da conexão: Usuario Abortou
ERROR_TIME_OUT 8 Estado da conexão: Tempo de espera esgotado (timeout)
ERROR_HASH 9 Estado da conexão: Hash inválido na verificação do pacote de resposta

Variáveis de runtime onde será configurado o ID Estático da transação ou da perna de comunicação

Atributo Valor Descrição
GLOBAL_STATIC_ID "staticId"
GLOBAL_STATIC_LIST "staticIdList"
COMM_ETHERNET 1
COMM_DIAL_TCP 2
COMM_WIRELESS_GPRS 3
COMM_WIRELESS_WIFI 9
COMM_DIAL_SDLC 11

Variáveis que retoram o perfil de uso da conexão.

Atributo Valor Descrição
PERFIL_LOCAL 1
PERFIL_REMOTO 2
COMM_PROTOCOLS_STRUCT

CommConst#COMM_PROTOCOLS_STRUCT()

Retorna a estrutura do protocolo de comunicação

Retorno
string com estrutura json
IS_OP_INITIALIZATION

CommConst#IS_OP_INITIALIZATION(type)

Checagem de tipo de operação

Parâmetros
type integer
Retorno
boolean
IS_OP_TRANSACTION

CommConst#IS_OP_TRANSACTION(type)

Checagem de tipo de operação

Parâmetros
type integer
Retorno
boolean
IS_OP_INITIALIZATION_CONFIRM

CommConst#IS_OP_INITIALIZATION_CONFIRM(type)

Checagem de tipo de operação

Parâmetros
type integer
Retorno
boolean
IS_OP_TRANSACTION_CONFIRM

CommConst#IS_OP_TRANSACTION_CONFIRM(type)

Checagem de tipo de operação

Parâmetros
type integer
Retorno
boolean
IS_OP_CONFIRMATION

CommConst#IS_OP_CONFIRMATION(type)

Checagem de tipo de operação

Parâmetros
type integer
Retorno
boolean
IS_OP_INITIALIZATION_RESP

CommConst#IS_OP_INITIALIZATION_RESP(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_TRANSACTION_PROG_DYNAMIC

CommConst#IS_OP_TRANSACTION_PROG_DYNAMIC(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_TRANSACTION_RESP

CommConst#IS_OP_TRANSACTION_RESP(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_ERROR

CommConst#IS_OP_ERROR(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_CONFIRMATION

CommConst#IS_OP_CONFIRMATION(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_INITIALIZATION_RESP

CommConst#IS_OP_INITIALIZATION_RESP(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_TRANSACTION_PROG_DYNAMIC

CommConst#IS_OP_TRANSACTION_PROG_DYNAMIC(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_TRANSACTION_RESP

CommConst#IS_OP_TRANSACTION_RESP(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_OP_ERROR

CommConst#IS_OP_ERROR(type)

Checagem de tipos de respostas

Parâmetros
type integer
Retorno
boolean
IS_ERROR_NONE

CommConst#IS_ERROR_NONE(type)

Checagem de erros

Parâmetros
type integer
Retorno
boolean
IS_ERROR_FROM_SERVER

CommConst#IS_ERROR_FROM_SERVER(type)

Checagem de erros

Parâmetros
type integer
Retorno
boolean
IS_ERROR_SERVER_RECV

CommConst#IS_ERROR_SERVER_RECV(type)

Checagem de erros

Parâmetros
type integer
Retorno
boolean
IS_ERROR_SERVER_SENDING

CommConst#IS_ERROR_SERVER_SENDING(type)

Checagem de erros

Parâmetros
type integer
Retorno
boolean

IS_ERROR_HANDLER_CALLING

CommConst#IS_ERROR_HANDLER_CALLING(type)

Checagem de erros

Parâmetros
type integer
Retorno
boolean

getString

CommConst#getString(code)

Retorna mensagem baseado código do erro

Parâmetros
code integer
Retorno
string

getErrorStringCode

CommConst#getString(error)

Codificar código de erro da PhComm para o PhAST

Parâmetros
error integer
Retorno
string

getConfigFromUsage

CommConst#getConfigFromUsage(type, usage)

Retorna o tipo da configuração.

Parâmetros
Nome Tipo Descrição
type integer Tipo de conexão:
CommConst#COMM_WIRELESS_GPRS,
CommConst#COMM_WIRELESS_WIFI
usage integer Tipo de uso:
CommConst#USAGE_PHDM(),
CommConst#USAGE_INITIALIZATION(),
CommConst#USAGE_TRANSACTION(),
CommConst#USAGE_KEEP_ALIVE()
Retorno
string
Exemplo
 use url CommConst "package://phast#comm/const.wmlsc"

 var config = CommConst#getConfigFromUsage(CommConst#COMM_WIRELESS_GPRS(), CommConst#USAGE_PHDM());
 Dialogs.alert(config);
Saída
 wifi_phdm

Datetime

package://phast#utils/datetime.wmlsc

Módulo responsável por manipulação de data e hora.

getDate

Datetime#getDate()

Retorna a data atual do sistema

Parâmetros
**Nenhum**
Retorno
inteiro representando a data atual

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var date = DateT#getDate();
Message#showMessage("Data Atual (inteiro): " + date, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Data atual (inteiro): 19142
````

getTime

Datetime#getTime()

Retorna a hora atual do sistema

Parâmetros
**Nenhum**
Retorno
inteiro representando a hora atual

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var time = DateT#getTime();
Message#showMessage("Hora atual (inteiro): " + time, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Hora atual (inteiro): 34425
````

getTimestamp

Datetime#getTimestamp()

Retorna um inteiro representando o timestamp atual

Parâmetros
**Nenhum**
Retorno
inteiro com o timestamp

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var timeStamp = DateT#getTimestamp();
Message#showMessage("timestamp atual: " + timeStamp, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

timestamp atual (inteiro): 1254524565
````

getDateTime

Datetime#getDateTime()

Retorna a data e hora atuais

Parâmetros
**Nenhum**
Retorno

PhStruct com os campos date e time atuais

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime = DateT#getDateTime();
var date = PhStruct.get(dateTime, "date");
var time = PhStruct.get(dateTime, "time");
 Message#showMessage("Data atual: " + date, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
 Message#showMessage("Hora atual: " + time, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Data atual: 06/06/2017
Hora atual: 16:57:38

dateTimeToSeconds

Datetime#dateTimeToSeconds(dateTime)

Retorna a data e hora convertidos em segundos

Parâmetros
+ **DateTime** - data e hora que serão convertidas em segundos
Retorno

inteiro representando o horário recebido, em segundos.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var timeToSeconds = DateT#dateTimeToSeconds(DateT#getDateTime());
Message#showMessage("datetime em segundos:| " + timeToSeconds, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

datetime em segundos: 1496768608

secondsToDateTime

Datetime#secondsToDateTime(seconds)

Retorna a data e hora convertidos a partir dos segundos.

Parâmetros
+ **seconds** - inteiro em segundos que será convertido para data e hora.
Retorno
PhStruct com os campos date e time contendo a data e hora convertidos.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var secondsToDateTime = DateT#secondsToDateTime(1496768608);
var date = PhStruct.get(secondsToDateTime, "date");
var time = PhStruct.get(secondsToDateTime, "time");
Message#showMessage("Data: " + date, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("Hora: " + time, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Data: 06/06/2017
Hora: 17:03:28

strAsTime

Datetime#strAsTime(mask, str)

Retorna a hora a partir de uma string fornecida segundo a máscara

Parâmetros
+ **mask** - máscara no padrão hh - hora, mm - minuto e ss - segundos

+ **str** - string contendo a hora a ser convertida segundo o padrão da máscara.
Retorno

inteiro representando o time.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var time = DateT#strAsTime("hh:mm:ss", "17:24:30");
Message#showMessage("time:| " + time, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

time: 35599

strAsDate

Datetime#strAsDate(mask, str)

Retorna a data a partir de uma string fornecida segundo a máscara

Parâmetros
+ **mask** - máscara no padrão DD - dia, MM - Mês, YY ou YYYY Ano

+ **str** - string contendo a data a ser convertida segundo o padrão da máscara.
Retorno

inteiro representando o date.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var date = DateT#strAsDate("DD/MM/YYYY", "06/06/2017");
Message#showMessage("date:| " + date, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

date: 19142

strAsTimestamp

Datetime#strAsTimestamp(mask, str)

Retorna o timestamp a partir de uma string fornecida segundo a máscara

Parâmetros
+ **mask** - máscara no padrão DD - dia, MM - M-s, YY ou YYYY - Ano, hh - hora, mm - minuto e ss - segundos

+ **str** - string contendo data e hora a serem convertidos segundo o padrão da máscara.
Retorno
inteiro representando o timestamp

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var timeStamp = DateT#strAsTimestamp("DD/MM/YYYY hh:mm:ss", "06/06/2017 17:38:30");
Message#showMessage("timeStamp:| " + timeStamp, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

timeStamp: 1254526159

dateAsStr

Datetime#dateAsStr(mask, date)

Retorna a data convertida para string a partir de um date inteiro, conforme a máscara.

Parâmetros
+ **mask** - máscara no padrão DD - dia, MM - M-s, YY ou YYYY - Ano.

+ **date** - inteiro representando a data.
Retorno
string com a data no formato da máscara informada.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var date = DateT#dateAsStr("DD/MM/YYYY", 19142);
Message#showMessage("date:| " + date, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

date: 06/06/2017

timeAsStr

Datetime#timeAsStr(mask, time)

Retorna a hora convertida para string a partir de um time inteiro, conforme a máscara.

Parâmetros
+ **mask** - máscara no padrão hh - hora, mm - minuto e ss - segundos

+ **time** - inteiro representando o time
Retorno
string com a hora no formato da máscara informada.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var time = DateTime#timeAsStr("hh:mm:ss", 35599);
Message#showMessage("time:| " + time, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

time: 17:24:30

timestampAsStr

Datetime#timestampAsStr(mask, timestamp)

Retorna o timestamp convertido para string a partir de um time inteiro, conforme a máscara.

Parâmetros
+ **mask** - máscara no padrão DD - dia, MM - M-s, YY ou YYYY - Ano, hh - hora, mm - minuto e ss - segundos

+ **timestamp** - inteiro representando o timestamp.
Retorno
string com o timestamp no formato da máscara informada.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var timeStamp = DateT#timestampAsStr("DD/MM/YYYY hh:mm:ss", 1254526159);
Message#showMessage("timeStamp:| " + timeStamp, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

timeStamp: 06/06/2017 17:38:30

dateTimeAsStr

Datetime#dateTimeAsStr(mask, datetime)

Retorna o datetime convertido para string conforme a máscara.

Parâmetros
+ **mask** - máscara no padrão DD - dia, MM - M-s, YY ou YYYY - Ano, hh - hora, mm - minuto e ss - segundos

+ **datetime** - PhStruct com os campos date e time.
Retorno
string com o datetime no formato da máscara informada.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime = PhStruct.create("{date:date;time:time}");
PhStruct.set(dateTime, "date", 19142);
PhStruct.set(dateTime, "time", 35599);
var dateTimeAsStr = DateT#dateTimeAsStr("DD/MM/YYYY hh:mm:ss", dateTime);
Message#showMessage("dateTimeAsStr:| " + dateTimeAsStr, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

dateTimeAsStr: 06/06/2017 17:24:30

dateTimeAsTimestamp

Datetime#dateTimeAsTimestamp(datetime)

Retorna o datetime convertido para timestamp.

Parâmetros
+ **datetime** - PhStruct com os campos date e time.
Retorno
inteiro com o timestamp convertido ou **invalid** em caso de erro.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime = PhStruct.create("{date:date;time:time}");
PhStruct.set(dateTime, "date", 19142);
PhStruct.set(dateTime, "time", 35599);
var dateTimeAsTimestamp = DateT#dateTimeAsTimestamp(dateTime);
Message#showMessage("dateTimeAsTimestamp:| " + dateTimeAsTimestamp, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

dateTimeAsTimestamp: 1254525711

strAsDateTime

Datetime#strAsDateTime(mask, str)

Retorna o datetime convertido para string conforme a máscara.

Parâmetros
+ **mask** - máscara no padrão DD - dia, MM - M-s, YY ou YYYY - Ano, hh - hora, mm - minuto e ss - segundos

+ **str** - string com o datetime no formato da máscara informada.
Retorno
PhStruct com os campos date e time.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var strAsDateTime = DateT#strAsDateTime("DD/MM/YYYY hh:mm:ss", "07/06/2017 08:44:27");
var date = PhStruct.get(strAsDateTime, "date");
var time = PhStruct.get(strAsDateTime, "time");
Message#showMessage("date:| " + date, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("time:| " + time, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

date: 07/06/2017
time: 08:44:27

timestampAsDateTime

Datetime#timestampAsDateTime(timestamp)

Retorna o timestamp convertido para datetime.

Parâmetros
+ **timestamp** - inteiro representando o timestamp
Retorno
PhStruct com os campos date e time

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var timestampAsDateTime = DateT#timestampAsDateTime(1254525711);
var date = PhStruct.get(timestampAsDateTime, "date");
var time = PhStruct.get(timestampAsDateTime, "time");
Message#showMessage("date:| " + date, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("time:| " + time, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

date: 06/06/2017
time: 17:24:30

dateTimeSetDate

Datetime#dateTimeSetDate(datetime, date)

Define a data em um datetime;

Parâmetros
+ **datetime** - PhStruct com os campos date e time.

+ **date** - inteiro com a data a ser definida
Retorno
**true** se houve sucesso na definição da data ou **false** em caso de falha.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime = DateT#getDateTime();
if (DateT#dateTimeSetDate(dateTime, 19142))
{
 Message#showMessage("date:| " + PhStruct.get(dateTime, "date"), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("Falha ao definir|a data", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

date: 06/06/2017

dateTimeSetTime

Datetime#dateTimeSetTime(datetime, time)

Define a hora em um datetime;

Parâmetros
+ **datetime** - PhStruct com os campos date e time.

+ **time** - inteiro com a hora a ser definida
Retorno
**true** se houve sucesso na definição da hora ou **false** em caso de falha.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime = DateT#getDateTime();
if (DateT#dateTimeSetTime(dateTime, 35599))
{
 Message#showMessage("time:| " + PhStruct.get(dateTime, "time"), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("Falha ao definir|a hora", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

hora: 17:24:30

validateDateTime

Datetime#validateDateTime(mask, str)

Verifica se o timestamp informado é válido.

Parâmetros
+ **mask** - máscara no padrão DD - dia, MM - Mês, YY ou YYYY - Ano, hh - hora, mm - minuto e ss - segundos

+ **str** - timestamp no padrão da mascara.
Retorno
**true** se a string informada for um timestamp válido

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

if (DateT#validateDateTime("DD/MM/YYYY hh:mm:ss", "07/06/2017 10:58:12"))
{
 Message#showMessage("Data e hora válidos", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("Data e hora inválidos", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

Data e hora válidos

setDateTime

Datetime#setDateTime(datetime)

Define a data e hora do sistema;

Parâmetros
+ **datetime** - PhStruct com os campos date e time.
Retorno
**true** se houve sucesso na definição da hora ou **false** em caso de falha.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

DateT#setDateTime(DateT#strAsDateTime("DD/MM/YYYY hh:mm:ss", "08/06/2017 10:00:00"));
Message#showMessage("Data e hora|configurados com|sucesso!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Data e hora
configurados com
sucesso!

checkInterval

Datetime#checkInterval(initial, current, final)

Verifica se uma determinada hora está entre o intervalo informado.

Parâmetros
+ **initial** - início do intervalo.

+ **current** - hora que se deseja verificar.

+ **final** - fim do intervalo.
Retorno
**true** se current estiver entre initial e final, **false** em caso contrário.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var timeIni     = DateT#strAsTime("hh:mm:ss", "11:00:00");
var timeCurrent = DateT#strAsTime("hh:mm:ss", "11:45:00");
var timeFinal   = DateT#strAsTime("hh:mm:ss", "12:00:00");
if (DateT#checkInterval(timeIni, timeCurrent, timeFinal))
{
 Message#showMessage("a hora está no intervalo", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("hora fora do intervalo", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

}

Saida:

a hora está no intervalo

validateDate

Datetime#validateDate(date)

Verifica se a data informada - válida.

Parâmetros
+ **date** - inteiro com a data a ser verificada.
Retorno
**true** se a data informada for uma data válida.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

if (DateT#validateDate(DateT#strAsDate("DD/MM/YYYY", "07/06/2017")))
{
 Message#showMessage("A data é válida.", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("Data inválida.", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

}

Saida:

A data é válida.

decDay

Datetime#decDay(date, qDay)

Decrementa uma data

Parâmetros
+ **date** - inteiro contendo a data.

+ **qDay** - Quantidade de dias a decrementar
Retorno
inteiro contendo a data decrementada de qDay(s).

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

Message#showMessage("Data atual:|" + DateT#dateAsStr("DD/MM/YYYY", DateT#getDate()), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("Data decrementada 25 dias:|" + DateT#dateAsStr("DD/MM/YYYY", DateT#decDay(DateT#getDate(), 25)), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Data atual: 07/06/2017
Data decrementada 25 dias: 13/05/2017

incDay

Datetime#incDay(date, qDay)

Incrementa uma data

Parâmetros
+ **date** - inteiro contendo a data.

+ **qDay** - Quantidade de dias a incrementar
Retorno
inteiro contendo a data incrementada de qDay(s).

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

Message#showMessage("Data atual:|" + DateT#dateAsStr("DD/MM/YYYY", DateT#getDate()), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("Data incrementada 25 dias:|" + DateT#dateAsStr("DD/MM/YYYY", DateT#incDay(DateT#getDate(), 25)), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Data atual: 07/06/2017
Data incrementada 25 dias: 02/07/2017

compare

Datetime#compare(number, number2)

Compare dois times inteiros

Parâmetros
+ **number** - inteiro contendo um time.

+ **number2** - inteiro contendo o time a comparar.
Retorno
+ 0  se os horários são iguais
  • -1 se number < number2
  • 1 se number > number2

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var hora1 = DateT#strAsTime("hh:mm:ss", "15:04:20");
var hora2 = DateT#strAsTime("hh:mm:ss", "17:52:20");
var hora3 = DateT#strAsTime("hh:mm:ss", "15:04:20");
Message#showMessage("hora1 e hora2|" + DateT#compare(hora1, hora2), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("hora2 e hora1|" + DateT#compare(hora2, hora1), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("hora1 e hora3|" + DateT#compare(hora1, hora3), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

hora1 e hora2: -1
hora2 e hora1: 1
hora1 e hora3: 0

compareDateTime

Datetime#compareDateTime(dateTime, dateTimeComp, flag)

Compara dois valores dateTime

Parâmetros
+ **dateTime** - PhStruct contendo os campos date e time

+ **dateTimeComp** - PhStruct contendo os campos date e time, a ser comparado

+ **flag** - Opção de comparação. **0** compara os dois datetimes. **1** compara somente a data. **2** compara somente a hora.
Retorno
  • 0 se os datetimes são iguais
  • -1 se dateTime < dateTimeComp
  • 1 se dateTime > dateTimeComp

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime1 = DateT#strAsDateTime("DD/MM/YYYY hh:mm:ss", "07/06/2017 15:24:37");
var dateTime2 = DateT#strAsDateTime("DD/MM/YYYY hh:mm:ss", "07/06/2017 17:10:00");
var dateTime3 = DateT#strAsDateTime("DD/MM/YYYY hh:mm:ss", "07/06/2017 15:24:37");
Message#showMessage("dateTime1 e dateTime2|" + DateT#compareDateTime(dateTime1, dateTime2, 0), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("dateTime2 e dateTime1|" + DateT#compareDateTime(dateTime2, dateTime1, 0), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Message#showMessage("dateTime1 e dateTime3|" + DateT#compareDateTime(dateTime1, dateTime3, 0), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

dateTime1 e dateTime2: -1
dateTime2 e dateTime1: 1
dateTime1 e dateTime3: 0

dateTimeGetDate

Datetime#dateTimeGetDate(datetime)

Extrai a data de um datetime informado.

Parâmetros
+ **datetime** - PhStruct com os campos date e time.
Retorno
inteiro contendo a data extraída.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime = DateT#strAsDateTime("DD/MM/YYYY", "15:32:17");
Message#showMessage("Data:|" + DateT#dateTimeGetDate(dateTime), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Data: 19143

dateTimeGetTime

Datetime#dateTimeGetTime(datetime)

Extrai a hora de um datetime informado.

Parâmetros
+ **datetime** - PhStruct com os campos date e time.
Retorno
inteiro contendo a hora extraída.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var dateTime = DateT#strAsDateTime("DD/MM/YYYY", "15:32:17");
Message#showMessage("Hora:|" + DateT#dateTimeGetTime(dateTime), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Hora: 31752

createDateTime

Datetime#createDateTime(date, time)

Cria um tipo datetime.

Parâmetros
+ **date** - inteiro contendo a data

+ **time** - inteiro contendo a hora
Retorno
PhStruct com os campos date e time

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var data = 19143;
var hora = 31752;
var dateTime = DateT#createDateTime(data, hora);
Message#showMessage("datetime: |" + DateT#dateTimeAsStr("DD/MM/YYYY hh:mm:ss", dateTime), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

datetime: 07/06/2017 15:32:16

dateToJulianDays

Datetime.dateToJulianDays(date)

Converte uma data em dias julianos

Parâmetros
+ **date** - inteiro contendo a data.
Retorno
inteiro contendo o número de dias julianos respectivos.

Exemplo:

use url DateTime   "package://phast#utils/datetime.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var data = 19143;
Message#showMessage("juliandays: |" + DateT#dateToJulianDays(data), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

juliandays: 2457912

Display

package://phast#utils/display.wmlsc

Este módulo gerencia as mensagens exibidas ao operador. A aplicação também poderá personalizar suas próprias mensagens através dessa API.

Sumário

Função Descrição
showMessage Conectar dispositivo criado
showMessageExt Validar se o dispositivo está conectado
showMemo Criar um stream genérico para o dispositivo
showMemoExt Habilita o processamento da conexão TLS não blocante.
showMemoExtError Desconectar dispositivo
showMemoInfo Recuperar último erro ocorrido
showMessageAndTitle Recuperar informações/configurações do dispositivo
confirmDialog Recuperar último erro ocorrido na API do dispositivo do terminal

Constantes

Constante Valor Descrição
Display#ALIGN_NONE 0 Sem Alinhamento.
Display#ALIGN_CENTER 1 Alinhado ao centro.
Display#ALIGN_LEFT 2 Alinhado a esquerda.
Display#ALIGN_RIGHT 3 Alinhado a direita.
Display#ALIGN_JUSTIFY 4 Alinhamento justificado.

showMessage

Display#showMessage(title, msg, block)

Exibe uma mensagem com múltiplas linhas no display.

Parâmetros
**title** - Título da mensagem.

**msg** - Corpo da mensagem.

**block** - booleano. Se true torna a função blocante. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos a mensagem é sempre blocante.
# Retorno
Mensagem exibida no display.

Exemplo:

use url Display "package://phast#utils/display.wmlsc";

Display#showMessage("showMessage", "Mensagem 1|Mensagem 2|Mensagem 3|Mensagem 4|Mensagem 5|", true);

showMessageExt

Display#showMessageExt(title, message, delay, beep, align)

Exibe uma mensagem com múltiplas linhas e com opção de alinhamento. Esta função é não blocante.

Parâmetros
Nome Tipo Descrição
title String Título da mensagem
message String Corpo da mensagem
delay Number Tempo em milisegundos
beep Number Tempo do beep em milisegundos, (0 indica sem beep)
align Number Alinhamento do texto no corpo da mensagem. Ver sessão de "Alinhamento"
Retorno
Mensagem exibida no display.
Exemplo
use url Display "package://phast#utils/display.wmlsc";

Display#showMessageExt("showMessageExt", "Mensagem 1|Mensagem 2|Mensagem 3|Mensagem 4|Mensagem 5|", 0, 0, Display#ALIGN_CENTER() );

showMemo

Display#showMemo(title, memo, block, clearDisp)

Exibe um memo no display. as teclas up e down rolarão a tela, ESC ou ENTER termina a apresentação.

Parâmetros
**title** - Título da mensagem.

**memo** - Corpo da mensagem.

**block** - booleano. Se **true** torna a função blocante. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos a mensagem é sempre blocante.

**clearDisp** - booleano. Se **true** o display será limpo antes da apresentação do memo. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos o display sempre será limpo antes da exibição.
Retorno
Mensagem exibida no display.

Exemplo:

use url Display "package://phast#utils/display.wmlsc";

Display#showMemo("showMessage", "Mensagem 1|Mensagem 2|Mensagem 3|Mensagem 4|Mensagem 5|", true, false);

showMemoExt

Display#showMemoExt(title, memo, timeOut, beep, clearDisp, hotkey, showExit)

Exibe um memo no display. as teclas up e down rolarão a tela, ESC ou ENTER termina a apresentação.

Parâmetros
**title** - Título da mensagem.

**memo** - Corpo da mensagem.

**timeOut** - Tempo de exibição em milisegundos, (0 indica timeOut 0xFFFF)

**beep** - tempo do beep em milisegundos, (0 indica sem beep)

**clearDisp** - booleano. Se **true** o display será limpo antes da apresentação do memo. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos o display sempre será limpo antes da exibição.

**hotkey** - Integer representado por cada tecla físicas do terminal que é utilizada como atalho para imprimir o contéudo do memo

**showExit** - booleano indicando se exibe ou não o botão de saída quando em terminais com suporte a gráficos.
Retorno
Nenhum

Exemplo:

use url Display "package://phast#utils/display.wmlsc";

Display#showMemoExt("showMemoExt", "Mensagem 1|Mensagem 2|Mensagem 3|Mensagem 4|Mensagem 5|", 3000, 1000, false, invalid, false);

showMemoExtError

Display#showMemoExtError(title, memo, timeOut, beep, clearDisp, hotkey)

Ver showMemoExt

showMemoInfo

Display#showMemoInfo(title, memo, timeOut, beep, clearDisp, hotkey, showExit, labelExit)

Exibe um memo no display. as teclas up e down rolarão a tela, ESC ou ENTER termina a apresentação.

Parâmetros
**title** - Título da mensagem.

**memo** - Corpo da mensagem.

**timeOut** - Tempo de exibição em milisegundos, (0 indica timeOut 0xFFFF)

**beep** - tempo do beep em milisegundos, (0 indica sem beep)

**clearDisp** - booleano. Se **true** o display será limpo antes da apresentação do memo. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos o display sempre será limpo antes da exibição.

**hotkey** - Integer representado por cada tecla físicas do terminal que é utilizada como atalho para imprimir o contéudo do memo

**showExit** - booleano indicando se exibe ou não o botão de saída quando em terminais com suporte a gráficos.

**labelExit** - Texto a ser exibido no botão de saída do memo.
Retorno
Nenhum

Exemplo:

use url Display "package://phast#utils/display.wmlsc";

Display#showMemoInfo("showMemoInfo", "Mensagem 1|Mensagem 2|Mensagem 3|Mensagem 4|Mensagem 5|", 3000, 1000, false, invalid, false);

showMessageAndTitle

Display#showMessageAndTitle(title, message)

Exibe uma mensagem com título opcional. OBS: Esta função é não blocante.

Parâmetros
**title** - Título da mensagem ou **invalid**.

**message** - Corpo da mensagem.
Retorno
**true** em caso de sucesso ou **false** em caso de falha.

Exemplo:

use url Display "package://phast#utils/display.wmlsc";

while(true)
 Display#showMessageAndTitle(invalid, "Imprimindo...");

confirmDialog

Display#confirmDialog(title, msg, timeOut)

Exibe um dialog com opções [sim] e [não] para captura de confirmação.

Parâmetros
**title** - título do dialog.

**msg** - Mensagem a ser exibida na questão.

**timeOut** - timeout em milissegundos.
Retorno
**true** se o operador escolheu a opção **[sim]** e **invalid** caso seja escolhida a opção **[não]** ou o dialog saiu com timeout.

Exemplo:

var result = Display#confirmDialog("Confirmação", "Confirma a impressão?", 5000);
  if (result)
  {
    Message#showMessage("Escolhida a opção [sim]", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
  }
  else
  {
    Message#showMessage("Escolhida a opção [não]", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
  }

Error

package://phast#utils/error.wmlsc

Os erros padrão ocorridos durante a execução da aplicação são exibidos na tela com um beep, durante 2 segundos, mostrando o código do erro e sua descrição. A aplicação poderá exibir seus próprios erros com seus respectivos códigos. (ver ##showErrorExt()).

Sumário

Função Descrição
showErrorExt Exibe um erro com código na tela durante timeout milisegundos.

showErrorExt

Error#showErrorExt(code, error, attrs)

Exibe um erro com código na tela durante timeout milisegundos.

Parâmetros
Nome Tipo Descrição
code String Código do erro a ser exibido
error String String com o erro a exibir
attrs Array Array de atributos de modificação.

Atributos de modificação

Nome Tipo Descrição
timeout Number Tempo em milissegundos para exibição do erro.
salveError Boolean Atualiza código e mensagem do último erro exibido
Retorno
Nenhum
Exemplo
use url PhASTError "package://phast#utils/error.wmlsc";

PhASTError#showErrorExt("APP020", "TESTE DE ERRO", [5000, true]);
Saida
APP020
TESTE DE ERRO

EvtManager

package://phast#events/manager.wmlsc

Módulo para cadastro de eventos. Os eventos podem ser utilizados para chamar uma função em determinado periodo de tempo.

Sumário

Função Descrição
registerLocalEvent Registra um novo evento na tabela de eventos.
removeEvent Remove um evento da tabela de eventos.

RegisterLocalEvent

EvtManager#registerLocalEvent(id, time, cron, idle, func, reattempts, reattemptMsg, recoveryDelay, limit, aleatory)

Registra um novo evento na tabela de eventos

Parâmetros
  • id - Identificador do evento. Importante: Os IDs entre 0 e 100 são reservados para uso interno, portanto apenas valores acima de 100 são permitidos.
  • time - Datetime indicando o horario de inicio da execução do evento
  • cron - String contendo expressão cron (Ver http://en.wikipedia.org/wiki/Cron). Caso seja invalid ou string vazia (""), o evento será executado apenas uma vez no horario definido em time.
  • idle - Tempo mínimo em idle para execução do evento (em ms)
  • func - String indicando a função que será executada pelo evento. A string deverá seguir o formato "package://script#function" (Ex: "package://events/events.wmlsc#eventHello").
  • reattempts - Número de retentativas de execução do evento em caso de falha
  • reattemptMsg - String contendo a mensagem que será exibida quando for realizada uma retentativa de execução. Utilizado apenas quando reattempts for maior que zero.
  • recoveryDelay - Tempo (em minutos) a ser esperado entre cada tentativa da recuperação do evento. Utilizado apenas quando reattempts for maior que zero.
  • limit - Indica o limite de execuções do evento. Se for 0, não haverá limite para execução.
  • aleatory - Parâmetro não utilizado em eventos locais. Passar sempre 0.
Retorno

booelan indicando se o evento foi registrado.

RemoveEvent

EvtManager#removeEvent(id) Remove um evento da tabela de eventos.

Parâmetros
**id** - Identificador do evento a ser removido.
Retorno
**booelan** indicando se o evento foi removido.

Exemplo:

function test()
{
  //Cadastra um evento que chama a funcao eventHello a cada 30s, com no minimo 2000ms em idle
  var result = EvtManager#registerLocalEvent(101, Datet#getDateTime(),
               "0/30 * * * * ?", 2000, "package://test/eventTest.wmlsc#eventHello", 0, "", 0, 0, 0);

  if (result)
  {
    Message#showMessage("Evento cadastrado!", 1500, Message#BEEP_MESSAGE());
  }
}

extern function eventHello()
{
  Message#showMessage("Hello World!", 1500, Message#BEEP_MESSAGE());

  //Remove o evento com o id 10
  if (EvtManager#removeEvent(10))
  {
    Message#showMessage("Evento removido!", 1500, Message#BEEP_MESSAGE());
  }
}

Saida:

Evento cadastrado!
---

Hello World!
---

Evento removido!
---

Field

package://phast#trns/field.wmlsc
  • descrição das constantes de required field.

Required field

Constante Descrição
Field#E_READ_ONLY() Field de entrada somente leitura
Field#E_OPTIONAL() Field de entrada opcional
Field#E_REQUIRED() Field de entrada obrigatório.
Field#HIDDEN() Field oculto

Format

package://phast#utils/format.wmlsc

Módulo para formatação e padronização de dados.

addToContext

Format#addToContext(script)

Adiciona o script passado por parâmetro para que as funções sejam executadas prioritariamente às do script base. As funções que podem ser sobreescritas são:

  • formatMsg
Parâmetros
**script** - URL completa do caminho do script.
Retorno
true sucesso ou false em caso de falha

Exemplo:

extern function init(applet)
{
  Format#addToContext(
    "package://mypacka#utils/myformat.wmlsc");
}

RemoveFromContext

Format#removeFromContext(script)

Checa se o script esta em contexto e o remove.

Parâmetros
**script** - URL completa do caminho do script.
Retorno
true sucesso ou false em caso de falha

Exemplo:

extern function term()
{
  Format#removeFromContext(
    "package://mypacka#utils/myformat.wmlsc");
}

formatMsg

Format#formatMsg(string)

Chama função de contexto para tratamento da string, ou caso não haja, normaliza e transforma em maiúsculo a string caso não seja POS de com suporte gráfico. Do contrário a propria string é retornada.

Parâmetros
**string** - String a ser formatada.
Retorno
Depende da função de contexto. Caso não haja, e o POS suporte apenas

modo texto, retorna a string convertida para maiúsculo e normalizada. Em caso de erro, retorna invalid.

Exemplo:

var result = Format#formatMsg("Título");

Saida:

result: "TITULO"

alignLeft

Format#alignLeft(string, width)

Alinha a string à esquerda. Caso width seja maior que o comprimento da string esta é completada com espaços à direita.

Parâmetros
**string** - String a ser usada.

**width** - Número máximo de colunas para o alinhamento.
Retorno
String alinhada à esquerda dentro do width. Em caso de erro ou string

inválida, retorna invalid.

Exemplo:

var string = "LEFT";
string = Format#alignLeft(string, 19);

Saida:

string: "LEFT               "

alignRight

Format#alignRight(string, width)

Alinha a string à direita. Caso width seja maior que o comprimento da string esta é completada com espaços à esquerda.

Parâmetros
**string** - String a ser usada.

**width** - Número máximo de colunas para o alinhamento.
Retorno
String alinhada à direita dentro do width. Em caso de erro ou string

inválida, retorna invalid.

Exemplo:

var string = "RIGHT";
string = Format#alignRight(string, 19);

Saida:

string: "              RIGHT"

alignCenter

Format#alignCenter(string, width)

Alinha a string no centro do width. Caso width seja maior que o comprimento da string esta é completada com espaços à esquerda e direita.

Parâmetros
**string** - String a ser usada.

**width** - Número máximo de colunas para o alinhamento.
Retorno
String alinhada no centro do width. Em caso de erro ou string

inválida, retorna invalid.

Exemplo:

var string = "CENTER";
string = Format#alignCenter(string, 19);

Saida:

string: "      CENTER       "

alignJustify

Format#alignJustify(string, width)

Distribui a string pelo width usando espaço como separador dos elementos, caso width seja maior que o comprimento da string.

Parâmetros
**string** - String a ser usada.

**width** - Número máximo de colunas para o alinhamento.
Retorno
String justificada dentro do width. Em caso de erro ou string

inválida, retorna invalid.

Exemplo:

var string = "JUSTTIFY THIS";
string = Format#alignJustify(string, 19);

Saida:

string: "JUSTTIFY       THIS"

justifyPriorityRight

Format#justifyPriorityRight(left, right, width)

Alinha a string left à esquerda e a string right à direita dentro do width. Caso width seja menor que a soma dos comprimentos das strings, a right é sobreposta sobre left até o tamanho da string right.

Parâmetros
**left** - String que ficará alinha a esquerda.

**right** - String que ficará alinha a direita.

**width** - Número máximo de colunas para o alinhamento.
Retorno
String contendo as strings left e right alinhadas à direita e

esquerda, respectivamente. Em caso de erro retorna invalid.

Exemplo:

var result_1 = "";
var result_2 = "";
var result_3 = "";
result_1 = Format#alignBorders("LEFT", "RIGHT", 19);
result_2 = Format#alignBorders("LEFT", "RIGHT", 7);
result_3 = Format#alignBorders("LEFT", "RIGHT", 2);

Saida:

result_1: "LEFT          RIGHT"
result_2: "LERIGHT"
result_3: "RIGHT"

createMemoFromStr

Format#createMemoFromStr(string, align)

Transforma a string em um PhType.MEMO. O caractere '|' implicará em nova linha. Usa PhDisplay.maxColumns como width para alinhamentos.

Parâmetros
**string** - String a ser usada para criação do MEMO.

**align** - Alinhamento das linhas do memo. Valores possíveis:
  • 0 - esquerda
  • 1 - centro
  • 2 - direita
  • 3 - justificado
Retorno
Um PhType.MEMO ou invalid em caso de erro.

Exemplo:

  var memo  = Format#createMemoFromStr(
                 "Memo|com linhas|centralizadas", 1);

  for (var i = 0; i < PhType.count(memo); i++)
  {
    PhDisplay.putString(i, 0,
      PhDisplay.NORMAL,
      PhType.getValue(memo, i));
  }

Saida:

          Memo
       com linhas
     centralizadas

addLineToMemo

Format#addLineToMemo(memo, line, align, width)

Adiciona uma string como nova linha para o PhType.MEMO memo.

Parâmetros
**memo** - PhType.MEMO.

**line** - String para nova linha.24

**align** - Alinhamento da linha no memo. Valores possíveis:

- 0 - esquerda
- 1 - centro
- 2 - direita
- 3 - justificado

**width** - Número máximo de colunas para o alinhamento.
Retorno
PhType.MEMO memo adicionado de uma nova linha composta pela

string line alinhada pelo align e width.

Exemplo:

  var memo  = Format#createMemoFromStr(
                 "Memo|com linhas|centralizadas", 1);

 Format##addLineToMemo(memo,
     "e uma a direita", 2, PhDisplay.maxColumns());

  for (var i = 0; i < PhType.count(memo); i++)
  {
    PhDisplay.putString(i, 0,
      PhDisplay.NORMAL,
      PhType.getValue(memo, i));
  }

Saida:

          Memo
       com linhas
     centralizadas
         e uma a direita

getHexAsString

Format#getHexAsString(hexString)

Transforma uma string de valores hexadecimais nos respectivos caracteres ASCII.

Parâmetros
**hexString** - String de valores ASCII em hexadecimal.

Deve começar com "0x".

Retorno
String com caracteres ASCII.

Exemplo:

var string = Format#getHexAsString("0x48656C6C6F");

Saida:

string: "Hello"

getStringAsHex

Format#getStringAsHex(string)

Transforma uma string de caracteres ASCII em umas string com valores hexadecimais dos respectivos caracteres.

Parâmetros
**string** - String de caracteres ASCII.
Retorno
String com valores hexadecimais.

Exemplo:

var string = Format#getStringAsHex("Hello");

Saida:

string: "0x48656c6c6f"

getHexDigitAsInteger

Format#getHexDigitAsInteger(digit)

Retorna o valor decimal de um caractere de um dígito hexadecimal.

Parâmetros
**digit** - String de um caractere de um dígito hexadecimal.
Retorno
Valor decimal do dígito hexadecimal.

Exemplo:

var digit = Format#getHexDigitAsInteger("F");

Saida:

digit: 15

zfill

Format#zfill(string, width)

Cria uma String de comprimento width com a string passado por parâmetro alinhada à direita com zeros à esquerda.

Parâmetros
**string** - String a ser usada.

**width** - Número máximo de colunas para o preenchimento.
Retorno
String de comprimento width com zeros à esquerda.

Exemplo:

var string = Format#zfill("123", 6);

Saida:

string: "000123"

strPadLeft

Format#strPadLeft(string, width, pad)

Retorna string preenchida na esquerda com string(s) pad com comprimento width.

Parâmetros
**string** - String a ser usada.

**width** - Número máximo de colunas para o preenchimento.

**pad** - String a se repedir à esquerda de string.
Retorno
String string preenchida à esquerda por um ou mais de pad. A última
string pad à esquerda pode ser truncada para completar width.

Exemplo:

var string = Format#strPadLeft("RIGHT", 19, "left");

Saida:

string: "ftleftleftleftRIGHT"

strPadRight

Format#strPadRight(string, width, pad)

Retorna string preenchida na direita com string(s) pad com comprimento width.

Parâmetros
**string** - String a ser usada.

**width** - Número máximo de colunas para o preenchimento.

**pad** - String a se repedir à esquerda de string.
Retorno
String string preenchida à direita por um ou mais de pad. A última

string pad à direita pode ser truncada para completar width.

Exemplo:

var string = Format#strPadRight("LEFT", 21,"right");

Saida:

string: "LEFTrightrightrightri"

getMoneyAsStringCurrency

Format#getMoneyAsStringCurrency(value, currency, decimals, decimalSeparator, thousandsSeparator)

Transforma valor inteiro decimal em um String formatada para valor monetário.

Parâmetros
**value** - Tipo inteiro com valor total mais as casas decimais.

**currency** - String com símbolo monetário.

**decimals** - Número de casas decimais a considerar.

**decimalSeparator** - Caractere separador das casas decimais.

**thousandsSeparator** - Caractere separador de milhar.
Retorno
String monetária formatada com valor.

Exemplo:

var value = 654321;
var stringValue = "";

if (typeof value == 0)
  stringValue = Format#getMoneyAsStringCurrency(value, "$", 2, ",", ".");

Saida:

stringValue: "$ 6.543,12"

getStringAsStringCurrency

Format#getStringAsStringCurrency(value, currency, decimals, decimalSeparator, thousandsSeparator)

Formata string contendo valor em um String formatada para valor monetário.

Parâmetros
**value** - Tipo String com valor total mais as casas decimais.

**currency** - String com símbolo monetário.

**decimals** - Número de casas decimais a considerar.

**decimalSeparator** - Caractere separador das casas decimais.

**thousandsSeparator** - Caractere separador de milhar.
Retorno
String monetária formatada com valor.

Exemplo:

  var value = "654321";
  var stringValue = "";

  if (typeof value == 2)
    stringValue = Format#getMoneyAsStringCurrency(value, "$", 2, ",", ".");

Saida:

stringValue: "$ 6.543,12"

strTrimLeft

Format#strTrimLeft(string)

Remove espaços em branco à esquerda de string.

Parâmetros
**string** - String a ser usada.
Retorno
String string sem os espaços em branco à esquerda, se presentes.

Exemplo:

var string = Format#strTrimLeft("      Teste");

Saida:

string: "Teste"

strTrimRight

Format#strTrimRight(string)

Remove espaços em branco à direita de string.

Parâmetros
**string** - String a ser usada.
Retorno
String string sem os espaços em branco à direita, se presentes.

Exemplo:

var string = Format#strTrimLeft("Teste      ");

Saida:

string: "Teste"

strSplit

Format#strSplit(string, separator)

Quebra a string pelo separator em uma lista PhList.

Parâmetros
**string** - String a ser quebrada.

**separator** - Caractere indicando a quebra da string em um

elemento da lista.

Retorno
PhList cotendo fragmentos da string quebrada pelo separator.

Exemplo:

  var lista = Format#strSplit("String-a ser-quebrada", "-");

  for (var i = 0; i < PhList.count(lista); i++)
  {
     PhDisplay.putString(i, 0,
       PhDisplay.NORMAL,
       PhList.get(lista, i));
  }

Saida:

String
a ser
quebrada

GlobalComm

package://phast#comm/global_comm.wmlsc
package://phast#comm/const.wmlsc

Módulo para o gerenciamento de conexões

Erros de Comunicação

Erro Descrição
E_COMM_OK() Sucesso
E_COMM_ERROR() Erro na comunicação
E_COMM_ABORT() Operação cancelada
E_COMM_TIMEOUT() Timeout
E_COMM_SEND() Falha ao enviar
E_COMM_RECV() Falha ao receber
E_COMM_TLS_HANDSHAKE() Falha ao estabelecer conexão segura
E_COMM_TLS_CERT() Falha no certificado
E_COMM_TLS_CERT_NO_LOADED() Falha ao carregar certificado
E_COMM_TLS_REQUIRED() Conexão tls é requerida
E_COMM_UNKNOW() Erro desconhecido

Tipos de Uso da Conexão

Usage
CommConst#USAGE_TRANSACTION()

Sumário

Função Descrição
resetUsedPriorityLevels Inicializa controle de tentativas de conexão. Deve ser chamado antes de iniciar uma conexão.
startConnection Inicia uma conexão TCP/IP Direta.
getGlobalComm Recupera o handle global de comunicação.
finishConnection Finaliza uma conexão.

resetUsedPriorityLevels

GlobalComm#resetUsedPriorityLevels()

Inicializa controle de tentativas de conexão. Está função deve ser chamada sempre antes de iniciar uma conexão.

Parâmetros

Nenhum

startConnection

GlobalComm#startConnection(id, ip, port, certificate, custom)

Inicia uma conexão TCP/IP Direta.

Parâmetros
Nome Tipo Descrição
id Integer Utilizado para controlar a aplicação que solicitou a conexão
ip String O endereço (IPv4) da maquina destino
port Integer Porta de destino
certificate String Nome do certificado a ser utilizado com segurança TLS na comunicação
custom Array Lista de argumentos para conexão customizada

Parâmetros Custom

Nome Tipo Descrição
blocking Boolean Identifica se a conexão será blocante
serverName String Endereço do servidor
certName String Nome do certificado
timeout Integer Tempo maximo de conexão em milisegundos
singleAttmp Boolean Seta se a conexão tentará ser realizada apenas uma unica vez
commType Hexadecimal Tipo de comunicação
Retorno
Handle da conexão em caso de sucesso ou E_COMM. (Ver seção **Erros de Comunicação**)

getGlobalComm

GlobalComm#getGlobalComm()

Recupera o handle global de comunicação.

Parâmetros

Nenhum

Retorno

getConnectionComm

GlobalComm#getConnectionComm()

Recupera o comm passado.

Parâmetros

Nenhum

Retorno

finishConnection

GlobalComm#finishConnection(usage)

Finaliza uma conexão.

Parâmetros
**usage** - Uso da conexão a ser finalizada (Ver seção **Tipos de Uso da Conexão**))

Exemplo:

use url CommConst  "package://phast#comm/const.wmlsc";
use url GlobalComm "package://phast#comm/global_comm.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";
use url Input      "package://libs#ui/input.wmlsc";

extern function ExampleCommunication()
{
  var hostIp;
  var hostPort;
  var ip;
  var  input = Input#inputString("Endereco Ip:", invalid, &ip, "NNN.NNN.NNN.NNN", 1, 12,
  (Input#DIRECTION_LEFT() | Input#CHAR_NUMERICO()), String.getValue('.'), true);

  GlobalComm#resetUsedPriorityLevels();

  if (input == Input#INPUT_OK())
  {
    input = Input#inputString("Porta:", invalid, &port, invalid, 1, 5,
     (Input#DIRECTION_LEFT() | Input#CHAR_NUMERICO()), String.getValue('.'), true);
    if (input == Input#INPUT_OK())
    {
      var ret = GlobalComm#startConnectionMngr(CommConst#USAGE_TRANSACTION(), hostIp, hostPort, invalid, true);
      if(ret == GlobalComm#E_COMM_OK())
      {
        Message#showMessage("Communication OK!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
      }
      else
      {
        Message#showMessage("communication Fail!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
      }

      GlobalComm#finishConnection(CommConst#USAGE_TRANSACTION());
    }
  }

}

Saida:

Communication OK!

Input

package://phast#ui/input.wmlsc

Este módulo fornece funções para capturas interativas diversas como strings, passwords, valores numéricos, datas, menus etc.

Constantes

Atributos

Atributo Valor Descrição
ALIGN_LEFT 0x00 Alinhamento à esquerda
ALIGN_RIGHT 0x01 Alinhamento à direita
ALIGN_CENTER 0x02 Alinhamento ao centro
ALLOW_NUMBERS 0x10 Entrada de números
ALLOW_LOWERCASE_LETTERS 0x20 Entrada de caracteres em caixa baixa
ALLOW_UPPERCASE_LETTERS 0x40 Entrada de caracteres em caixa alta
ALLOW_SYMBOLS 0x80 Entrada de símbolos
ALLOW_EVERYTHING 0xF0 Qualquer caracter.

Retornos do menu

Constante Descrição
RET_MENU_NONE Nenhum r Retorno
RET_MENU_CANCEL Cancelado pelo usuário
RET_MENU_PREVIOUS Menu anterior
RET_MENU_NEXT Próximo menu
RET_MENU_TIMEOUT Cancelado por time out

getString

Input#getString(label, hint, initialValue, maxLen, attributes, attrs)

Captura uma string sem formatação.

Parâmetros
Nome Tipo Descrição
label String Texto explicativo acima do textBox
hint deprecated
initialValue String valor inicial que aparecerá no textBox
maxLen String tamanho máximo da entrada
attributes String Modificadores da entrada. Podem ser combinados através de "
attrs Array Modificadores de comportamento

Modificadores de Comportamento

Nome Tipo Descrição
editMode Integer Modo de edição do componente - Field#E_OPTIONAL ou Field#E_REQUIRED
minLen Integer Tamanho mínimo da entrada
Retorno
string com o valor capturado
Exemplo
use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";
use url Field      "package://phast#trns/field.wmlsc";

var result = Input#getString("String a capturar:", "", "", 15, invalid, [Field#E_REQUIRED(), 1]);
Message#showMessage("String capturada:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
Saida
String a capturar: teste
String capturada: teste

getPassword

Input#getPassword(label, hint, maxLen)

Captura uma string sem a exibição dos caracteres.

Parâmetros
**label** - string com o texto explicativo acima do textBox

**hint** - deprecated

**maxLen** - inteiro com o tamanho máximo da entrada
Retorno
string com o password capturado

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var result = Input#getPassword ("Password a capturar:", "", 15);
Message#showMessage("Password capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Password a capturar: *****
Password capturado: teste

getNumericPassword

Input#getNumericPassword(label, hint, maxLen)

Captura uma string numérica sem a exibição dos caracteres.

Parâmetros
**label** - string com o texto explicativo acima do textBox

**hint** - deprecated

**maxLen** - tamanho máximo da entrada
Retorno
string numérica com o password capturado

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var result = Input#getNumericPassword ("Password a capturar:", "", "", 15, invalid, true);
Message#showMessage("Password capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Password a capturar: ******
Password capturado: 123456

getSelection

Input#getSelection(label, menuItems, initialValue)

Cria um menu de interação com o operador

Parâmetros
**label** - string com o título do menu

**menuItems** - PhType com o tipo stringList contendo os ítens a serem exibidos

**initialValue** - Índice do ítem pré-selecionado na exibição do menu
Retorno
inteiro com o índice do ítem selecionado pelo operador ou uma das constantes de r Retorno do menu. Ver constantes.

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var opc  = PhType.create("stringList");
var menu = PhType.get(opc);

PhList.add(menu, "Um");
PhList.add(menu, "Dois");
PhList.add(menu, "Tres");
PhList.add(menu, "Quatro");

var result = Input#getSelection("Selection", menu, 0);
Message#showMessage("Selection:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Selection: 1

getByte

Input#getByte(label, hint, initialValue) Descrição ...

Captura um byte. Valores válidos na faixa de 0x00 a 0xff.

Parâmetros
Nome Tipo Descrição
label String String com o texto explicativo acima do textBox
hint deprecated
initialValue String Valor inicial que aparecerá no textBox
Retorno
Valor do byte capturado

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

extern function inputs()
{
 var result = Input#getByte ("Capturar Byte", "", 0);
 Message#showMessage("Byte Capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

Byte Capturado: 50

getByteExt

Input#getByteExt(label, hint, initialValue, editMode, minValue, maxValue) Descrição ...

Captura um byte. Valores válidos na faixa de 0x00 a 0xff.

Parâmetros
Nome Tipo Descrição
label String String com o texto explicativo acima do textBox
hint deprecated
initialValue String Valor inicial que aparecerá no textBox
editMode Number Habilita o modo de edição, ver field
minValue Hexadecimal Tamanho mínimo
maxValue Hexadecimal Valor máximo
Retorno
Valor do byte capturado
Exemplo
use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";
use url Field      "package://phast#trns/field.wmlsc";

extern function inputs()
{
 var result = Input#getByteExt("Capturar Byte", "", 0, Field#E_READ_ONLY(), invalid, invalid);
 Message#showMessage("Byte Capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
Saida:
Byte Capturado: 50

getBCD

Input#getBCD(label, hint, initialValue, maxLen)

Captura um valor BCD (Binary Coded Decimal).

Parâmetros
**label** - string com o texto explicativo acima do textBox

**hint** - deprecated

**initialValue** - valor inicial que aparecerá no textBox

**maxLen** - tamanho máximo da captura
Retorno
string com o valor BCD capturado

Exemplo:

var result = Input#getBCD ("Capturar BCD", "", invalid, 10);
Message#showMessage("BCD capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Entrada:

Capturar BCD: 22

Saida:

BCD capturado: 34

getHEX

Input#getHEX(label, hint, initialValue, timeOut, maxSize, editMode)

Captura um valor na base hexadecimal.

Parâmetros
**label** - string com o texto explicativo acima do textBox

**hint** - deprecated

**initialValue** - valor inicial que aparecerá no textBox

**timeOut** - tempo em que a captura é cancelada automaticamente se ociosa.

**maxSize** - tamanho máximo da captura

**editMode** - Modo de edição. Ver em [**Field**](#field).
Retorno
Descrição ...

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";
use url Field      "package://phast#trns/field.wmlsc";

var result = Input#getHEX ("Capturar HEX", "", invalid, 10000, 10, Field#E_REQUIRED());
Message#showMessage("HEX capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

HEX Capturado: [1, 0x22]

getWord

Input#getWord(label, hint, initialValue)

Captura um valor do tipo word

Parâmetros
**label** - string com o texto explicativo acima do textBox

**hint** - deprecated

**initialValue** - valor inicial que aparecerá no textBox
Retorno
valor capturado

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var result = Input#getWord ("Capturar Word", "", 2);
Message#showMessage("Word capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Word Capturado: 10

getWordExt

Input#getWordExt(label, hint, initialValue, editMode, minValue, maxValue )

Captura um valor do tipo word

Parâmetros
Nome Tipo Descrição
label String String com o texto explicativo acima do textBox
hint deprecated
initialValue String Valor inicial que aparecerá no textBox
editMode Number Modo de edição ver em Field
minValue Hexadecimal Valor mínimo
maxValue Hexadecimal Valor máximo
Retorno
valor capturado

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";
use url Field      "package://phast#trns/field.wmlsc";

var result = Input#getWordExt("Capturar Word", "", 2, Field#E_OPTIONAL(),  0, 0xffff);
Message#showMessage("Word capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

Word Capturado: 10

getDWord

Input#getDWord(label, hint, initialValue)

Captura um valor do tipo Dword

Parâmetros
**label** - string com o texto explicativo acima do textBox

**hint** - deprecated

**initialValue** - valor inicial que aparecerá no textBox
Retorno
valor capturado

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var result = Input#getDWord ("Capturar DWord", "", 2);
Message#showMessage("DWord capturado:|" + result, Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

DWord Capturado: 2124154517

validateString

Input#validateString(value, min, max, isBeep)

Valida se o tamanho do string informado está entre os valores mínimo e máximo informados.

Parâmetros
**value** - string a ser validada

**min** - tamanho mínimo para validação

**max** - tamanho máximo para validação

**isBeep** - booleano indicando se deve ser emitido um beep caso **value** não seja válido.
Retorno
Caso a string informada seja válida será retornada a própria string, caso contrário será retornado **invalid**

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var string = "teste";
var result = Input#validateString (string, 2, 10, true);

Message#showMessage("result:|" + String.toString(result), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

var result2 = Input#validateString (string, 2, 4, true);

Message#showMessage("result:|" + String.toString(result2), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

result: teste
result2: invalid

extractStringData

Input#extractStringData(mask, value)

Extrai os dados de uma string obedecendo o formato da máscara informada

Parâmetros
**mask** - máscara no formato [N] - Apenas números, [A] - Alfanumérico, [L] - Apenas letras e [_] - qualquer caracter.

**value** - string com o valor a ser extraído.
Retorno
string com o valor extraído conforme a máscara.

Exemplo:

use url Input      "package://phast#ui/input.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var result = Input#extractStringData ("NN:NN:NN AA", "12:30:55 pm");
Message#showMessage("result:|" + String.toString(result), Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

Saida:

result: 123055pm

Math

package://tef#util/math.wmlsc

Este módulo fornece funções para operações matemáticas.

Sumário

Função Descrição
sumCalculate Retorna a soma de dois números.
subCalculate Retorna a subtração de dois números.
divisionCalculate Retorna a divisão de dois números.
multiplyCalculate Retorna a multiplicação de dois números.
addDecimals Adiciona a quantidade de casas decimais no valor inteiro passado.
addThousandSeparator Adiciona o separador de milhar a um número.
calculate Realizar o cálculo de uma expressão matemática.
convertInt Converte um número decimal para inteiro.
convertIntToDecimal Formata um numero inteiro para um numero decimal.
count Retorna a quantidade de vezes que substr foi encontrada dentro de str.
countZeroOnLeft Retorna a quantidade de zeros a esquerda.
countZeroOnRight Retorna a quantidade de zeros a direita.
decimalPrepare Prepara um número para ter a quantidade de casas decimais informada no parâmetro.
prepareNumber Método recebe um valor resultado de uma operacao e retorna esse numero pronto para ser *formatado pelo formatCurrency.
formatCurrency Formata um numero inteiro para um numero com formato currency.
formatIntToDecimal Formata um numero inteiro para um numero decimal.
formatNumber Formata um número inteiro para um numero decimal com separadores.
frac Retorna a parte fracionada do número. Caso não exista irá retorna zero.
getMaxCasasDecimais (deprecated) Retorna a quantidade de casas decimais do número que tiver a maior quantidade de casas decimais da expressão.
getMaxDecimal Retorna a quantidade de casas decimais do número que tiver a maior quantidade de casas decimais da expressão.
getTotalCasasDecimais (deprecated) Retorna a quantidade total de casas decimais de um expressão matemática.
getTotalDecimal Retorna a quantidade total de casas decimais de um expressão matemática.
isComma Verifica se o parâmetro informado é uma vírgula.
removeComma Remove a virgula.
insertCommaDecimal Insere uma virgula em uma determinada posição do valor.
isDigit Verifica se o parâmetro informado é um número de "0 até 9".
isMoney Verifica se valor passado é um valor monetário.
isExistDecimalValue Verifica se o valor é um número com casas decimais.
isNumberHigherOrEqual Verifica se a é maior ou igual a b.
isHigherNumber Verifica se a é maior que b.
isOperator Verifica se o parâmetro informado é um operador matemático.
isSpace Verifica se o parâmetro informado é um espaço.
isSymbol Verifica se o parâmetro informado é um símbolo.
lengthDecimalNumber Retorna a quantidade de digitos da fracao do numero decimal.
normalizeDecimal Normaliza o número que possui fração com as casas decimais desejadas.
normalizeNumber Remove zeros a esquerda quando o número for um inteiro, quando o número tiver casas decimais irá remover vírgula.
operatorsStr Retorna uma lista com os operadores matemáticos.
pow Realiza a operação matemática de pontenciação.
removeThousandSeparator Remove o separador de milhar de um número.
removeZeroLeft (deprecated) Remove os zeros a esquerda do número.
removeZeroOnLeft Remove os zeros a esquerda do número.
removeZeroOnRight Remove os zeros a direita do número.
round Realiza o arredondamento matemático, com a quantidade casas passada.
roundAll Realiza o arredondamento de um numero para 2 casas decimais.
split Popula uma lista com strings de acordo com o seprador informado.
splitNumberExpression Retorna uma lista com strings com os números da expressão.
trunc Retorna a parte inteira do número.

sumCalculate

Math#sumCalculate(a, b)

Retorna a soma de dois valores.

Parâmetros
**a** - Primeiro valor.

**b** - Segundo valor.
Retorno
O resultado da soma de a e b

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var x = "100,20";
var y = "200,40";
var result = Math#sumCalculate(x, y);
Dialogs.alert(result);

Saida:

"300,60"

subCalculate

Math#subCalculate(a, b)

Retorna a subtração de dois valores.

Parâmetros
**a** - Primeiro valor.

**b** - Segundo valor.
Retorno
O resultado da subtração de a e b

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var a = "100";
var b = "50";
var result = Math#subCalculate(a, b);
Dialogs.alert(result);

Saida:

"50"

divisionCalculate

Math#divisionCalculate(a, b)

Retorna a divisão de dois valores.

Parâmetros
**a** - Primeiro valor.

**b** - Segundo valor.
Retorno
O resultado da divisão de a por b

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var a = "40,20";
var b = "2";
var result = Math#divisionCalculate(a, b);
Dialogs.alert(result);

Saida:

"20,10"

multiplyCalculate

Math#multiplyCalculate(a, b)

Retorna a multiplicação de dois valores.

Parâmetros
**a** - Primeiro valor.

**b** - Segundo valor.
Retorno
O resultado da multiplicação de a e b

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var a = "30";
var b = "20";
var result = Math#multiplyCalculate(a, b);
Dialogs.alert(result);

Saida:

"600"

addDecimals

Math#addDecimals(value, decimals)

Adiciona a quantidade de casas decimais no valor inteiro passado.

Parâmetros
**value** - inteiro contendo o valor.

**decimals** - inteiro contendo a quantidade de casas decimais.
Retorno
String com o número com as casas decimais adicionadas.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = 1000;

var decimals = 2;

Math#addDecimals(value, decimals);

Saida:

"1000,00"

addThousandSeparator

Math#addThousandSeparator(value)

Adiciona o separador de milhar a um número.

Parâmetros
**value** - inteiro contendo o valor.
Retorno
String contento o número com o sepradores de milhar.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var valor = 1000000;

Math#addThousandSeparator(valor);

Saida:

1.000.000,00

calculate

Math#calculate(expr)

Realizar o cálculo de uma expressão matemática.

Parâmetros
**expr** - string que representa a expressão matemática.
Retorno
Inteiro resultado do calculo da expressão matemática.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var expressao = "10 + 5 * 2";

Math#calculate(expressao);

Saida:

20

convertInt

Math#convertInt(value)

Converte um número decimal para inteiro.

Parâmetros
**value** - string decimal que se deseja converter.
Retorno
Inteiro contendo o resultado.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "10,20";

Math#convertInt(numero)

Saida:

1020

convertIntToDecimal

Math#convertIntToDecimal(value, decimals, decimalSeparator)

Converte um número inteiro para um número decimal adicionando o separador de casa escolhido.

Parâmetros
**value** -  string ou inteiro com o valor.

**decimals** - inteiro contendo quantidade de casas decimais.

**decimalSeparator** - string contendo separador decimal.
Retorno
String com o número formatado com as casas decimais.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "100000";

var decimals = 3;

Math#convertIntToDecimal(value, decimals, decimalSeparator);

Saida:

"100,000"

count

Math#count(str, substr)

Retorna a quantidade de vezes que substr foi encontrada dentro de str.

Parâmetros
**str** - inteiro ou string contendo o str.

**substr** - inteiro com quantidade o substr.
Retorno
Inteiro contendo a quantidade de ocorrência encontradas.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var str = 121;

var substr = 1;

Math#count(str, substr);

Saida:

2

countZeroOnLeft

Math#countZeroOnLeft(value)

Retorna a quantidade de zeros a esquerda de value.

Parâmetros
**value** - Valor que deseja contar os zeros a esquerda.
Retorno
Retorna a quantidade de zeros a esquerda.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "000100";
var result = Math#countZeroOnLeft(value);
Dialogs.alert(result);

Saida:

3

countZerosOnLeft

Math#countZerosOnRight(value)

Retorna a quantidade de zeros a direita de value.

Parâmetros
**value** - Valor que deseja contar os zeros a direita.
Retorno
Retorna a quantidade de zeros.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = 10000;
var result = Math#countZeroOnRight(value);
Dialogs.alert(result);

Saida:

4

decimalPrepare

Math#decimalPrepare(value, decimals, optional)

Prepara um número para ter a quantidade de casas decimais informada no parâmetro.

Parâmetros
**value** - inteiro contendo o valor.

**decimals** - inteiro contendo a quantidade de casas decimais.

**optional** - booleano indicando se a formatação deve ser opcional. ou não.
Retorno
Inteiro com o resultado.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = 100;

var qtdCasas = 2;

var optional = false;

Math#decimalPrepare(numero, qtdCasas, optional);

Saida:

100000

prepareNumber

Math#prepareNumber(value)

Metodo recebe um valor resultado de uma operacao e retorna esse numero pronto para ser *formatado pelo formatCurrency.

Parâmetros
**value** - Valor.
Retorno
Número pronto para ser formatado.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "120";
var result = Math#prepareNumber(value);
Dialogs.alert(result);

Saida:

12000

formatCurrency

Math#formatCurrency(value)

Formata um numero inteiro para um numero com formato currency

Parâmetros
**value** - valor do tipo inteiro.
Retorno
String com o número formato monetária.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "10000";

Math#formatCurrency(numero);

Saida:

"100,00"

formatIntToDecimal

Math#formatIntToDecimal(value, decimals)

Formata um número inteiro para um número decimal com duas casas decimais.

Parâmetros
**value** - inteiro com o valor.

**decimals** - inteiro com quantidade de casas decimais.
Retorno
String com o número formatado com as casas decimais.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "100000";

var decimals = 2;

Math#formatIntToDecimal(value, decimals);

Saida:

"100.000,00"

formatNumber

Math#formatNumber(value, decimals, decimalSeparator, thousandsSeparator)

Formata um número inteiro para um numero decimal com separadores

Parâmetros
**value** - inteiro ou string contendo o valor.

**decimals** - inteiro contendo quantidade de casas decimais.

**decimalSeparator** - string contendo separador decimal.

**thousandsSeparator** - string contendo separador de milha.
Retorno
String com o número formatado com separadores.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = 100000;

var decimals = 2;

var decimalSeperator = ",";

var thousandsSeparator = ".";

Math#formatNumber(value, decimals, decimalSeperator, thousandsSeparator);

Saida:

"1.000,00"

getMaxCasasDecimais (deprecated)

Math#getMaxCasasDecimais(exp)

Retorna a quantidade de casas decimais do número que tiver a maior quantidade de casas decimais da expressão.

Parâmetros
**exp** - string que representa a expressão matemática.
Retorno
Inteiro com quantidade de casas decimais presentes na expressão.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var expressao = "10,2+3,879";

Math#getMaxCasasDecimais(expressao);

Saida:

3

getMaxDecimal

Math#getMaxDecimal(exp)

Retorna a quantidade de casas decimais do número que tiver a maior quantidade de casas decimais da expressão.

Parâmetros
**exp** - string com a expressão matemática.
Retorno
Inteiro com a quantidade de casas decimais.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var expressao = "100,4234+3,87";

Math#getMaxDecimal(expressao);

Saida:

4

getTotalCasasDecimais (deprecated)

Math#getTotalCasasDecimais(exp)

Retorna a quantidade total de casas decimais de um expressão matemática.

Parâmetros
**exp** - string com a expressão matemática.
Retorno
Inteiro com a quantidade de casas decimais.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var expressao = "10,2+3,879";

Math#getTotalCasasDecimais(expressao);

Saida:

4

getTotalDecimal

Math#getTotalDecimal(exp)

Retorna a quantidade total de casas decimais de um expressão matemática.

Parâmetros
**exp** - string que representa a expressão matemática.
Retorno
Inteiro com quantidade de casas decimais presentes na expressão.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var expressao = "10,2+3,879";

Math#getTotalDecimal(expressao);

Saida:

4

isComma

Math#isComma(param)

Verifica se o parâmetro informado é uma vírgula.

Parâmetros
**param** - string contendo o parâmetro.
Retorno
**true** se verdadeiro, **false** em caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var virgula = ",";

Math#isComma(virgula);

Saida:

true

insertCommaDecimal

Math#insertCommaDecimal(value, position)

Insere uma virgula no value na posição passada.

Parâmetros
**value** - Valor.

**pos**   - Posição que deseja inserir a virgula.
Retorno
O valor com a virgula inserida na posição informada.

Exemplo:

var value = "1000";
var result = Math#insertCommaDecimal(value, 2);
Dialogs.alert(result);

Saida:

10,00

isDigit

Math#isDigit(digit)

Verifica se o parâmetro informado é um número de "0 até 9".

Parâmetros
**digit** - string contendo número
Retorno
**true** se verdadeiro, **false** caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "5";

Math#isDigit(numero);

Saida:

true

isMoney

Math#isMoney(value)

Valida se o valor informado é monetário.

Parâmetros
**value** - string contendo número
Retorno
**true** se verdadeiro, **false** caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value1 = "100,32";
var value2 = "100,32,45";
var result1 = Math#isMoney(value1);
var result2 = Math#isMoney(value2);
Dialogs.alert(result1);
Dialogs.alert(result2);

Saida:

true
false

isExistDecimalValue

Math#isExistDecimalValue(value)

Verifica se o valor é um número com casas decimais

Parâmetros
**value** - valor no tipo string.
Retorno

true se verdadeiro, false em caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "10,00";

Math#isExistDecimalValue(numero);

Saida:

true

isNumberHigherOrEqual

Math#isNumberHigherOrEqual(a, b)

Verifica se a é maior ou igual a b.

Parâmetros
**a** - inteiro contendo o a.

**b** - inteiro contendo o b.
Retorno

true se verdadeiro, false em caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "10,20";

var a = 10;

var b = 5;

Math#isNumberHigherOrEqual(a, b);

Saida:

true

isHigherNumber

Math#isHigherNumber(a, b)

Verifica se a é maior que b.

Parâmetros
**a** - inteiro contendo o a.

**b** - inteiro contendo o b.
Retorno

true se verdadeiro, false em caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var a = 10;
var b = 5;
var result = Math#isHigherNumber(a, b);
Dialogs.alert(result);

Saida:

true

isOperator

Math#isOperator(operator)

Verifica se o parâmetro informado é um operador matemático.

Parâmetros
**operator** - string contendo o operador.
Retorno
**true** se verdadeiro, **false** em caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var sum = "+";

Math#isOperator(telefone);

Saida:

true

isSpace

Math#isSpace(param)

Verifica se o parâmetro informado é um espaço.

Parâmetros
**param** - string contendo o parâmetro.
Retorno
**true** se verdadeiro, **false** em caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var espaco = " ";

Math#isSpace(espaco);

Saida:

true

isSymbol

Math#isSymbol(symbol)

Verifica se o parametro informado é um símbolo.

Parâmetros
**symbol** - string contendo um símbolo.
Retorno
**true** se verdadeiro, **false** em caso contrário.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var simbolo = ".";

Math#isOperator(simbolo);

Saida:

true

lengthDecimalNumber

Math#lengthDecimalNumber(value)

Retorna a quantidade de digitos da fracao do numero decimal

Parâmetros
**value** - string com o valor.
Retorno
inteiro com a quantidade de números após a vírgula.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "99,98373";

Math#lengthDecimalNumber(value);

Saida:

5

normalizeDecimal

Math#normalizeDecimal(value, decimals)

Normaliza o número que possui fração com as casas decimais desejadas.

Parâmetros
**value** - string com o valor.

**decimals** - inteiro quantidade de casas decimais.
Retorno
String com o número formatado com as casas decimais.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "12,2";

var decimals = 3;

Math#normalizeDecimal(value, decimals);

Saida:

"12,222"

operatorsStr

Math#operatorsStr()

Retorna uma lista com os operadores matemáticos.

Parâmetros
Nenhum.
Retorno
**list** com os operadores matemáticos "+", "-", "*", "/", "x".

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

Math#operatorsStr();

Saida:

["+", "-", "*", "/",...]

pow

Math#pow(base, expoente)

Realiza a operação matemática de pontenciação.

Parâmetros
**base** - inteiro que representa a base da potência.

**expoente** - inteiro que representa o expoente da potência.
Retorno
Inteiro resultado da potência.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var base = 2;

var expoente = 10;

Math#pow(base, expoente);

Saida:

1024

removeComma

Math#removeComma(param)

Remove a(s) virgula(s) do valor passado.

Parâmetros
**param** - Valor.
Retorno
O valor sem a virgula

Exemplo:

var value = "200,30";
var result = Math#removeComma(value);
Dialogs.alert(result);

Saida:

20030

removeThousandSeparator

Math#removeThousandSeparator(value)

Remove o separador de milhar de um número.

Parâmetros
**value** - String contendo o valor.
Retorno
String Retorna o número sem os sepradores de milhar.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var valor = "1.000.000";

Math#removeThousandSeparator(valor);

Saida:

1000000

removeZeroLeft

Math#removeZeroLeft(value)

Remove os zeros a esquerda do número.

Parâmetros
**value** - valor no tipo string.
Retorno
String contendo o resultado.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "00100";

Math#removeZeroLeft(value);

Saida:

"100"

removeZeroOnLeft

Math#removeZeroOnLeft(value)

Remove os zeros a esquerda do número.

Parâmetros
**value** - valor no tipo string.
Retorno
String contendo o resultado.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "00100";

Math#removeZeroOnLeft(value);

Saida:

"100"

removeZeroOnRight

Math#removeZeroOnRight(value)

Remove os zeros a direita do número.

Parâmetros
**value** - valor no tipo string.
Retorno
String contendo o resultado.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = 1000;
var result = Math#removeZeroOnRight(value);
Dialogs.alert(result);

Saida:

"1"

round

Math#round(value, decimalPlaces)

Realiza o arredondamento matemático, com a quantidade casas passada.

Parâmetros
**value** - String contendo o valor.

**decimalPlaces** - inteiro contendo número da casa decimal que se deseja arredondar.
Retorno
String com o número com o valor arredondado

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "2,199999";

var decimalPlaces = 2;

Math#round(value, decimalPlaces);

Saida:

"2,20"

roundAll

Math#roundAll(value)

Realiza o arredondamento de um número para 2 casas decimais.

Parâmetros
**value** - string contendo valor.
Retorno
String com o número com o valor arredondado

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "33,3333333";

Math#roundAll(value);

Saida:

"33,33"

split

Math#split(list, str, separator)

Popula uma lista com strings de acordo com o seprador informado.

Parâmetros
**list** - PhList que receberá a string separada.

**str** - string quem se deseja separar.

**separator** - string com o separador.
Retorno
Nenhum.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "5,25";

var nomes = "João, Maria, Lúcia, Carlos";

var list = [];

var separador = ",";

Math#split(list, stringNomes, separador);

Saida:

"A variável list irá conter os seguintes valores: ["João", "Maria", "Lúcia", "Carlos"]".

splitNumberExpression

Math#splitNumberExpression(lista, exp)

Retorna uma lista com strings com os números da expressão.

Parâmetros
**lista** - phList que receberá a string separada.

**exp** - string com a expressão matemática.
Retorno
Nenhum.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var  list = [];

var expressao  =  "10 + 5 * 2";

Math#splitNumberExpression(lists, expressao);

Saida:

A variável list irá conter os seguintes valores: [10, 5, 2]

trunc

Math#trunc(number)

Retorna a parte inteira do número.

Parâmetros
**number** - string com o número decimal.
Retorno
String - Retorna a parte inteira do numero.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "10,20";

Math#trunc(numero);

Saida:

"10"

frac

Math#frac(number)

Retorna a parte fracionada do número. Caso não exista irá retorna zero.

Parâmetros
**number** - string com o número decimal.
Retorno
String - Retorna a parte fracionada de um número decimal.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var numero = "5,25";

Math#frac(numero)

Saida:

"25"

normalizeNumber

Math#normalizeNumber(value)

Remove zeros a esquerda quando o número for um inteiro, quando o número tiver casas decimais irá remover vírgula.

Parâmetros
**value** - string com o valor.
Retorno
Inteiro com o novo valor.

Exemplo:

use url Math  "package://tef#util/math.wmlsc";

var value = "0210";

Math#normalizeNumber(value);

Saida:

210

Message

package://tefui#ui/message.wmlsc

Sumário

Função Descrição
clearMsg Limpa mensagem na tela no caso de terminal textual.
confirmDialog Exibe um diálogo de confirmação na tela com as opções Sim e Não.
msgsInfo Exibe mensagens de impressão, se a impressora não possui papel, número serial do SIM Card, se o Sim Card não esta presente, número serial do POS e versão do SO.
showError Exibe no centro da tela uma mensagem de erro com ícone.
showMemo Exibe uma mensagem com opções de rolagem.
showMemoExt Implementação que exibe um memo em tela, com rolagem, tempo de exibição, sinal sonoro, tecla de atalho e utilização de componente Button em terminais com suporte gráfico.Não tem suporte a impressão.
showMemoInfo Implementação que exibe um memo em tela com rolagem, tempo de exibição ,sinal sonoro, tecla de atalho para impressão e utilização em terminais com suporte gráfico.
showMessage Exibe uma mensagem na tela.
showMessageIcon Exibe uma mensagem com ícone.
showMessageMemo Exibe uma mensagem na tela do tipo memo.
showMessageMemoWait Exibe uma mensagem na tela do tipo memo enquanto a tecla ENTER ou a tecla ESC não seja pressionada.
showQuestion Exibe uma mensagem na tela contendo um rodapé com as opções I18nMsg#CANCEL() e I18nMsg#ENTER() do módulo: use url I18n "package://phast#i18n/messages.wmlsc"; Com suporte a terminal textual.
showQuestionExt Possui a opção de exibição ou não de um rodapé com as opções Entrar e Cancela.Com suporte a terminal textual.

Constantes

Atributo Valor Descrição
BEEP_ALERT 100 Tempo em milissegundos do som do beep de quando um alerta é exibido
BEEP_ERROR 500 Tempo em milissegundos do som do beep de quando uma mensagem de erro é exibida
BEEP_KEY 30 Tempo em milissegundos do som de quando uma tecla é pressionada
BEEP_MESSAGE 50 Tempo em milissegundos do som do beep de quando uma mensagem é exibida
DELAY_ALERT 2950 Tempo em milissegundos de exibição de um alerta na tela
DELAY_DISPLAY 30000 Tempo em milissegundos de exibição de uma mensagem na tela
DELAY_ERROR 2950 Tempo em milissegundos de exibição de uma mensagem de erro na tela
DELAY_MEMO 2800 Tempo em milissegundos de exibição de um memo na tela
DELAY_MESSAGE 2950 Tempo em milissegundos de exibição de uma mensagem na tela
MSG_ALIGN_CENTER 70 Alinhamento do texto da mensagem no centro
MSG_ALIGN_LEFT 90 Alinhamento do texto da mensagem a esquerda
MSG_ALIGN_TOP 80 Alinhamento do texto da mensagem no topo
TIMEOUT_PROCESSING 60000 Tempo limite em milissegundos de exibição da mensagem de processando

clearMsg

Message#clearMsg()

Limpa mensagem na tela no caso de terminal textual.

Retorno
Nenhum

confirmDialog

Message#confirmDialog(title, msg, timeOut)

Exibe um diálogo de confirmação na tela com as opções Sim e Não.

Parâmetros

title - string - título do diálogo;

msg - string - conteúdo da mensagem;

timeOut - integer - tempo em milissegundo de exibição do diálogo;

Retorno

true ou false.

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#confirmDialog("Title","Hello World", 5000);

msgsInfo

Message#msgsInfo()

Exibe mensagens de impressão, se a impressora não possui papel, número serial do SIM Card, se o Sim Card não esta presente, número serial do POS e versão do SO.

Retorno
PhList

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#msgsInfo();

showError

Message#showError(title, msg, delay, beep)

Exibe no centro da tela uma mensagem de erro com ícone.

Parâmetros

title - string - titulo da mensagem a ser exibida;

msg - string - Mensagem a ser exibida;

delay - integer - Tempo (em milissegundos) que a mensagem será exibida;

beep - integer - tempo do beep em milissegundos, (0 indica sem beep);

Retorno
Nenhum

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";
Message#showError("Atenção", "Não foi possível realizar essa operação",  Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

showMemo

Message#showMemo(title, memo, block, clearDisp)

Exibe uma mensagem com opções de rolagem.

Parâmetros

title - string -titulo da mensagem a ser exibida;

memo- string - corpo da mensagem;

block - boolean -. Se true torna a função blocante. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos a mensagem é sempre blocante;

clearDisp booleano. Se true o display será limpo antes da apresentação do memo. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos o display sempre será limpo antes da exibição;

Retorno
Nenhum

showMemoExt

Message#showMemoExt(title, memo, timeOut, beep, clearDisp, hotkey, showExit)

Implementação que exibe um memo em tela, com rolagem, tempo de exibição, sinal sonoro, tecla de atalho e utilização de componente Button em terminais com suporte gráfico.Não tem suporte a impressão.

Parâmetros

title - string - Título da mensagem;

memo - string ou Memo - contendo o corpo da mensagem;

timeOut - integer - Tempo em milissegundos para exibição;

beep - integer - tempo do beep em milissegundos, (0 indica sem beep);

clearDisp - booleano - Se true o display será limpo antes da apresentação do memo. OBS: esse parâmetro é deprecated em terminais com suporte a gráficos. Nesses casos o display sempre será limpo antes da exibição;

hotkey - integer - Baseado na tabela ASCII, iniciando a partir do 48 para a tecla física do POS 0 ao 9, sucessivamente e 27, 8 e 13 para as teclas físicas do POS, Cancelar, Backspace e Enter, respectivamente;

showExit - boolean - indicando se exibe ou não o botão de saída quando em terminais com suporte a gráficos;

Retorno
Nenhum

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#showMemoExt("Hello World", "my content", 5000, 30, true, 13, true);

showMemoInfo

Message#showMemoInfo(title, memo, timeOut, beep, clearDisp, hotkey, showExit, labelExit)

Implementação que exibe um memo em tela com rolagem, tempo de exibição ,sinal sonoro, tecla de atalho para impressão e utilização em terminais com suporte gráfico.

Parâmetros

title - string - titulo da mensagem a ser exibida;

memo - Memo ou Map - contendo o corpo da mensagem;

timeOut - integer - tempo em milissegundos para exibição;

beep - integer - tempo do beep em milissegundos, (0 indica sem beep);

clearDisp - boolean - Se true o display será limpo antes da apresentação do memo. OBS: esse parâmetro é deprecated em terminais com suporte gráfico. Nesses casos o display sempre será limpo antes da exibição.

hotkey - integer - em terminais com suporte textual é baseado na tabela ASCII, onde sendo pressionada a tecla hotkey o memo será impresso. A partir do 48 para a tecla física do POS 0 ao 9, sucessivamente e 27, 8 e 13 para as teclas físicas do POS, Cancelar, Backspace e Enter;

showExit - boolean - (deprecated) indicando se exibe ou não o botão de saída quando em terminais com suporte gráfico;

labelExit - string - (deprecated) texto a ser exibido no botão de saída do memo;

Retorno
Nenhum

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";
use url Map        "package://vm#core/map.wmlsc";

var map = Map#create();

Map#put(map,  "Mensagem 01",  "1");
Map#put(map,  "Mensagem 02",  "2");

Message#showMemoInfo("Hello World", map, 5000, 30, false, 13, true, "Sair");

showMessage

Message#showMessage(msg, delay, attrs)

Exibe uma mensagem na tela.

Parâmetros
  • msg: Mensagem a ser exibida;

  • delay: Tempo (em milissegundos) que a mensagem será exibida Obs: usar "invalid" para mensagens sem delay definido ou exibidas até o fim da execução de outra função.

  • attrs: Lista com quatro posições contendo valores inteiros positivos, onde:
  • [0] = beepTime tempo em milissegundos do som do beep, valor padrão invalid
  • [1] = alignText, valor inteiro que representa o alinhamento do texto. O valor padrão é definidio pela constante Message#MSG_ALIGN_CENTER()
  • [2] = top, valor inteiro que representa a distância em pixels da mensagem em relação ao topo. Assume como valor padrão 55
  • [3] = gap, valor inteiro que representa a margem em pixels em relação aos demais elementos na tela. Assume como valor padrão 25
Retorno
Nenhum

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#showMessage("Hello World", 5000, [5000, 0, 0, 10]);

showMessageIcon

Message#showMessageIcon(title, msg, delay, beep, approved)

Exibe uma mensagem com ícone.

Parâmetros

title - string - titulo da mensagem a ser exibida;

msg - string - mensagem a ser exibida;

delay - integer - tempo (em milissegundos) que a mensagem será exibida;

beep - integer - tempo do beep em milissegundos, (0 indica sem beep);

approved - boolean - true exibe a mensagem com ícone de sucesso, caso contrário exibe mensagem com ícone de erro;

Retorno
Nenhum

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";
Message#showMessageIcon("Titulo", "Minha mensagem de exemplo",  Message#DELAY_ALERT(), Message#BEEP_MESSAGE(), invalid);

showMessageMemo

Message#showMessageMemo(msg, delay, beepTime)

Exibe uma mensagem na tela do tipo memo.

Parâmetros

msg - string - conteúdo da mensagem;

delay - integer - tempo do beep em milissegundos, (0 indica sem beep);

beepTime - integer - tempo de duração do beep em milissegundos;

Retorno
Nenhum

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#showMessageMemo("Hello World", 5000, 30);

showMessageMemoWait

Message#showMessageMemoWait(msg, delay, beepTime)

Exibe uma mensagem na tela do tipo memo enquanto a tecla ENTER ou a tecla ESC não seja pressionada.

Parâmetros

msg - string - Conteúdo da mensagem;

delay - boolean - (deprecated) exibição da mensagem por tempo indeterminado;

beepTime - integer - tempo de duração do beep em milissegundos;

Retorno
Nenhum

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#showMessageMemoWait("Hello World", 0, 30);

showQuestion

Message#showQuestion(msg, beepTime, align)

Exibe uma mensagem na tela contendo um rodapé com as opções I18nMsg#CANCEL() e I18nMsg#ENTER() do módulo: use url I18n "package://phast#i18n/messages.wmlsc"; Com suporte a terminal textual.

Parâmetros

msg - string - título da mensagem;

beepTime - integer - tempo de duração do beep em milissegundo;

align - constant - referente ao alinhamento da mensagem.Pode receber: MSG_ALIGN_CENTER(),MSG_ALIGN_TOP() ou MSG_ALIGN_LEFT();

Retorno

true ou false.

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#showQuestion("Hello World", 30, 70);

showQuestionExt

Message#showQuestionExt(msg, beepTime, footer, align)

Possui a opção de exibição ou não de um rodapé com as opções Entrar e Cancela.Com suporte a terminal textual.

Parâmetros

msg - string - conteúdo da mensagem;

beepTime - integer - tempo de duração do beep em milissegundos;

footer - boolean - se informado 1 possibilita a exibição de um rodapé com as opções Entrar e Cancela. Se informado 0 não apresenta;

align - constant - referente ao alinhamento da mensagem.Pode receber: MSG_ALIGN_CENTER(),MSG_ALIGN_TOP() ou MSG_ALIGN_LEFT();

Retorno

true ou false.

Exemplo:

use url Message    "package://tefui#ui/message.wmlsc";

Message#showQuestionExt("ola mundo", 100, 1, Message#MSG_ALIGN_CENTER());

Operation

package://phast#utils/operations.wmlsc

Módulo responsável por operações específicas da plataforma PhAST Client

communicationEcho

Operation#communicationEcho()

Efetua teste básico de comunicação .

Parâmetros
**Nenhum**
Retorno
**Nenhum**

Exemplo:

use url Op  "package://phast#utils/operations.wmlsc";

Op#communicationEcho();

Saida:

Sucesso em 46 ms.

RestartApplication

Operation#restartApplication(noConfirm)

Reinicia o terminal POS.

Parâmetros
**noConfirm** - boolean indicando se o PhAST pedirá a confirmação antes de reiniciar. Se true o terminal será reiniciado sem confirmação.
Retorno
reinício do terminal.

Exemplo:

use url Op  "package://phast#utils/operations.wmlsc";

Op#restartApplication(true);

ReprintPrinter

Operation#reprintPrinter()

Executa a reimpressão do último comprovante armazenado.

Parâmetros
**Nenhum**
Retorno
O comprovante reimpresso.

Exemplo:

use url Op  "package://phast#utils/operations.wmlsc";
Op#reprintPrinter();

doInitialization

Operation#doInitialization(reason)

Executa uma inicialização do terminal POS.

Parâmetros
**reason** - Finalidade da inicialização. Pode assumir os seguintes valores.
  • "package://phast#utils/statistics.wmlsc#REASON_NONE"
  • "package://phast#utils/statistics.wmlsc#REASON_OPERATOR"
  • "package://phast#utils/statistics.wmlsc#REASON_EVENT"
  • "package://phast#utils/statistics.wmlsc#REASON_INTEGRATION"
  • "package://phast#utils/statistics.wmlsc#REASON_SERVER"
  • "package://phast#utils/statistics.wmlsc#REASON_UPDATE"
Retorno
Se bem sucedido, a inicialização do terminal e atualização das tabelas de parâmetros.

Exemplo:

use url Op         "package://phast#utils/operations.wmlsc";
use url Statistics "package://phast#utils/statistics.wmlsc";

Op#doInitialization(Statistics#REASON_OPERATOR());

RemoveLotData

Operation#removeLotData()

Executa a deleção dos arquivos de movimentação financeira do sistema.

Parâmetros
**Nenhum**
Retorno
A remoção dos arquivos de lote.

Exemplo:

use url Op  "package://phast#utils/operations.wmlsc";

Op#removeLotData();

PhastMessage

package://phast#i18n/messages.wmlsc

Esse modulo fornece funções com mensagens pré definidas do phast.

Sumário

Função Descrição
**getI18nMessageString Recebe como parametro o código da mensagem, retorna a string com a mensagem.

Constantes

Constantes Descrição
PHOEBUS_1 Retorna uma string com o texto "Phoebus".
PHOEBUS_2 Retorna uma string com o texto "Tecnologia".
VERSAO_ATUAL Retorna uma string com o texto "PhAST Client".
CONFIGURATION Retorna uma string com o texto "Instalação".
MSG_NOT_CONFIGURED Retorna uma string com o texto "Não configurado".
MSG_NOT_INSTALLED Retorna uma string com o texto "Não Inicializado".
MSG_NEED_UPDATE Retorna uma string com o texto "Aguardando Inicialização".
MSG_LOCKED Retorna uma string com o texto "Terminal | bloqueado".
APP_CLOSING Retorna uma string com o texto "Encerrando...".
APP_CONFIGURATION_ERASED Retorna uma string com o texto "Arquivos de configuração apagados".
APP_DATA_ERASED Retorna uma string com o texto "Arquivos de dados apagados".
APP_ERASED Retorna uma string com o texto "Arquivos de aplicação não apagados".
ERROR Retorna uma string com o texto "Erro".
PREFIX_ERROR Retorna uma string com o texto "PC".
ALERT Retorna uma string com o texto "ATENÇÃO".
CONFIRMATION Retorna uma string com o texto "CONFIRMAÇÃO".
YES Retorna uma string com o texto "Sim".
NO Retorna uma string com o texto "Não".
E_WHILE_RECV Retorna uma string com o texto "Falha ao receber".
E_WHILE_SEND Retorna uma string com o texto "Falha ao enviar".
E_UNKNOW Retorna uma string com o texto "Desconhecido".
E_COMM_TEST Retorna uma string com o texto "Falha ao executar o |teste de comunicação".
AUTHORIZE Retorna uma string com o texto "Autenticando...".
DIALING Retorna uma string com o texto "Discando...".
DISCONNECTING Retorna uma string com o texto "Desconectando...".
CONNECTING Retorna uma string com o texto "Conectando...".
PROCESSING Retorna uma string com o texto "Processando...".
CONNECTING_HOST Retorna uma string com o texto "Conectando Servidor..".
COMUNICATION_TEST Retorna uma string com o texto "Teste de Comunicação".
SENDING_FILES Retorna uma string com o texto "Enviando arquivos...".
COMM_WAITING Retorna uma string com o texto "Processando...".
CONNECT_SEC Retorna uma string com o texto "Estabelecendo canal...".
SEDING Retorna uma string com o texto "Transmitindo...".
RECEIVING Retorna uma string com o texto "Recebendo...".
REMOVE_CONFIG_FILES Retorna uma string com o texto "CONFIRMA REMOÇÃO |DA CONFIGURAÇÃO?".
REMOVE_DATA_FILES Retorna uma string com o texto "CONFIRMA REMOÇÃO |DOS DADOS?".
REMOVE_APPLICATION Retorna uma string com o texto "Confirma remoção |da aplicação?".
ASK_FOR_UPDATE Retorna uma string com o texto "Uma nova versão está disponível. |Deseja atualizar o sistema?".
ASK_FOR_UPDATE_TITLE Retorna uma string com o texto "G. de Atualizações".
OPERATOR_LABEL Retorna uma string com o texto "Operadora".
RESTARTING Retorna uma string com o texto "Reiniciando |terminal...".
ETH_INVALID_CONFIG Retorna uma string com o texto "Configuração inválida |Favor ajustar".
CARD_MANUAL_INPUT_BAR Retorna uma string com o texto "--- --- MAN ---".
SWIPE_CARD Retorna uma string com o texto "Passe o cartão".
CARD_CVV_LABEL Retorna uma string com o texto "Cód. Segurança Cartão".
CARD_CVV_HINT Retorna uma string com o texto "Digite CVV".
CARD_CVV_ILLEGIBLE Retorna uma string com o texto "Ilegível".
CARD_CVV_MISSING Retorna uma string com o texto "Não possui".
CARD_MANUAL_INPUT_HINT Retorna uma string com o texto "Número do cartão".
CARD_LAST4DIGITS_LABEL Retorna uma string com o texto "4 últ. dígitos cartão".
CARD_LAST4DIGITS_HINT Retorna uma string com o texto "Digite os 4 últimos dígitos".
CARD_EXPIRATION_LABEL Retorna uma string com o texto "Validade cartão MM/AA".
CARD_REMOVE Retorna uma string com o texto "RETIRE O CARTÃO".
PRINTING Retorna uma string com o texto "Imprimindo...".
DETACH_RECEIPT Retorna uma string com o texto "Destaque o | comprovante".
IMPRESSORA_SEM_PAPEL Retorna uma string com o texto "IMPRESSORA SEM PAPEL! || POR FAVOR, | TROQUE A BOBINA".
ALERT_REIMPRESSAO Retorna uma string com o texto "E FAÇA UMA REIMPRESSÃO.".
BATERIA_FRACA Retorna uma string com o texto "BATERIA FRACA! ||POR FAVOR, RECARREGUE".
MSG_REPRINT Retorna uma string com o texto "* REIMPRESSAO *".
ASK_FOR_RESTART Retorna uma string com o texto "REINICIAR A APLICAÇÃO?".
ASK_FOR_SHUTDOWN Retorna uma string com o texto "DESLIGAR O TERMINAL?".
INIT_VERSION Retorna uma string com o texto "Versão Ini".
INIT_LOCAL Retorna uma string com o texto "Local".
INIT_REMOTE Retorna uma string com o texto "Servidor".
ASK_FOR_CONTINUE Retorna uma string com o texto "DESEJA CONTINUAR?".
TRY_AGAIN Retorna uma string com o texto "TENTAR NOVAMENTE?".
SHUTDOWN Retorna uma string com o texto "Desligando o |terminal...".
SHUTDOWN_CONFIG Retorna uma string com o texto "Tempo para desligar".
STANDBY_CONFIG Retorna uma string com o texto "Tempo para |apagar a tela".
MSG_DEBUG Retorna uma string com o texto "Versão exclusiva para testes! Não pode ser utilizada para fins comerciais.".
MSG_DEBUG_RECEBER Retorna uma string com o texto "VAI RECEBER...".
MSG_DEBUG_TRANSMITIR Retorna uma string com o texto "VAI TRANSMITIR...".
SHIFT_LABEL Retorna uma string com o texto "Turno".
SHIFT_OPENED Retorna uma string com o texto "Turno aberto".
SHIFT_CLOSED Retorna uma string com o texto "Turno fechado".
REOPEN Retorna uma string com o texto "Reabrir".
CLOSE Retorna uma string com o texto "Fechar".
CLOSING Retorna uma string com o texto "Fechamento".
REOPENING Retorna uma string com o texto "Reabertura".
SUCCESS Retorna uma string com o texto "Sucesso em".
FAIL Retorna uma string com o texto "Falha em".
PHDM_TITLE Retorna uma string com o texto "ATUALIZAÇÃO".
PHDM_AGUARDAR Retorna uma string com o texto "Por Favor, Aguarde...".
PHDM_PREPARANDO_ATUALIZACAO Retorna uma string com o texto "Preparando para atualização!".
PHDM_TELECARGA_AGENDADA Retorna uma string com o texto "Atualização agendada".
MSG_WIFI_ESQUECER Retorna uma string com o texto "Esquecer".
MSG_WIFI_CANCELAR Retorna uma string com o texto "Cancelar".
MSG_WIFI_ATUALIZAR Retorna uma string com o texto "ATUALIZAR".
MSG_CONFIRMATION_PEND Retorna uma string com o texto "Pendente de |confirmação".
MSG_COMM_PROFILE_NOT_FOUND Retorna uma string com o texto "Nenhum perfil de |comunicação configurado".
BTN_EXIT Retorna uma string com o texto "Sair".
MSG_WIFI_OUTRA_REDE Retorna uma string com o texto "OUTRA REDE...".
MSG_PHAST_CONF_SYNC Retorna uma string com o texto "Sincronizando...".
MSG_PHAST_AUTO_RECONNECT Retorna uma string com o texto "Conectando na |rede de dados".
MSG_PHAST_SIMCARD_DETECT Retorna uma string com o texto "Detectando |chip...".
SUNDAY Retorna uma string com o texto "Domingo".
MONDAY Retorna uma string com o texto "Segunda".
TUESDAY Retorna uma string com o texto "Terça".
WEDNESDAY Retorna uma string com o texto "Quarta".
THURSDAY Retorna uma string com o texto "Quinta".
FRIDAY Retorna uma string com o texto "Sexta".
SATURDAY Retorna uma string com o texto "Sábado".
JANUARY Retorna uma string com o texto "Janeiro".
FEBRUARY Retorna uma string com o texto "Fevereiro".
MARCH Retorna uma string com o texto "Março".
APRIL Retorna uma string com o texto "Abril".
MAY Retorna uma string com o texto "Maio".
JUNE Retorna uma string com o texto "Junho".
JULY Retorna uma string com o texto "Julho".
AUGUST Retorna uma string com o texto "Agosto".
SEPTEMBER Retorna uma string com o texto "Setembro".
OCTUBER Retorna uma string com o texto "Outubro".
NOVEMBER Retorna uma string com o texto "Novembro".
DECEMBER Retorna uma string com o texto "Dezembro".
WEAK_BATTERY Retorna uma string com o texto "BATERIA FRACA".
ENTER_OK Retorna uma string com o texto "OK".
VERSAO Retorna uma string com o texto "Versão PayStore".
INICIANDO Retorna uma string com o texto "INICIANDO...".
CARD_INVALID_APP Retorna uma string com o texto "APLICAÇÃO | INVÁLIDA".
WIFI_SCAN Retorna uma string com o texto "Verificando redes WiFi".
WIFI_AUTH Retorna uma string com o texto "AUTENTICANDO | NA REDE WiFi".
WIFI_DHCP Retorna uma string com o texto "OBTENDO ENDEREÇO IP".
PRINT Retorna uma string com o texto "IMPRIMIR".
SERIAL_SIMCARD Retorna uma string com o texto "NÚMERO DE SÉRIE SIMCARD".
SERIAL_POS Retorna uma string com o texto "NÚMERO DE SÉRIE MÁQUINA".
NO_SIMCARD Retorna uma string com o texto "SIMCARD NÃO PRESENTE".
SO_VERSION Retorna uma string com o texto "VERSÃO DO SO".
WITH Retorna uma string com o texto "COM".
WITH_OUT Retorna uma string com o texto "SEM".
TERMINAL_WITHOUT_COIL Retorna uma string com o texto "TERMINAL SEM BOBINA".
PRINT_FAILURE Retorna uma string com o texto "FALHA NA IMPRESSÃO".
DO_YOU_WANT_TO_REPRINT Retorna uma string com o texto "Deseja realizar a reimpressão?".
LOW_BATTERY_FOR_PRINTING Retorna uma string com o texto "BATERIA FRACA | PARA IMPRESSÃO.".
TRANSFER_CANCELED Retorna uma string com o texto "TRANSAÇÃO CANCELADA".
INVALID_IP Retorna uma string com o texto "IP INVÁLIDO".
POS_PENDING_CONTINUE Retorna uma string com o texto "EXISTEM INFORMAÇÕES |AINDA NÃO ENVIADAS. |DESEJA CONTINUAR?". )

getI18nMessageString

PhastMessage#getI18nMessageString(code)

Ao criar um projeto, dentro da pasta res vai conter um arquivo chamado I18N_PROJECT_NAME.INI. Nesse arquivo podemos definir algumas mensagens e utilizar a função getI18nMessageString para obter essa mensagem. As mensagens podem ser definidas embaixo da seção [MESSAGES] da seguinte forma:

[MESSAGES]
2400=Hello, world

É recomendado usar códigos acima de 2399 pois esses códigos estão reservados para uso da phvm e suas mensagens podem ser obtidas utilizando as funções definidas no sumário acima ou com o pacote TefMessage.

Parâmetros
**code** - String com o código referente a mensagem
Retorno
String com a mensagem.

Exemplo:

use url PhastMessage "package://phast#i18n/messages.wmlsc";

function HELLO_WORLD() { return PhastMessage#getI18nMessageString("2400"); }

function test()
{
  var str = HELLO_WORLD();
  Dialogs.alert(str);
}

Saida:

Hello, world

Report

package://tef#report/report.wmlsc

Possui funções para a exibição de transações por data e impressão detalhado e resumido, bem como a impressão da via do cliente e do estabelecimento.

Sumário

Função Descrição
**getNameNetwork Nome do facilitador
**getStreetSite Endereço do estabelecimento
**getNumberSite Número do estabelecimento
**getComplementsSite Complemento do endereço do estabelecimento

getNameNetwork

getNameNetwork(stNetwork)

Nome do facilitador. vide exemplo

Parametros

stNetwork - list - r Retorno DbTef#createTEFCSTD

Retorno

Nenhum

getStreetSite

getStreetSite(stSite)

Endereço do estabelecimento. vide exemplo

Parametros

stSite - list - r Retorno de DbTef#getSiteSt

Retorno

Nenhum

getNumberSite

getNumberSite(stSite)

Número do estabelecimento. vide exemplo

Parametros

stSite - list - r Retorno de DbTef#getSiteSt

Retorno

Nenhum

getComplementsSite

getComplementsSite(stSite)

Complemento do endereço do estabelecimento. vide exemplo

Parametros

stSite - list - r Retorno de DbTef#getSiteSt

Retorno

Nenhum

Exemplo

 use url DbTef     "package://tef#config/db_tef.wmlsc";
 use url Report    "package://tef#report/report.wmlsc";

 var db_tef     = DbTef#createTEFCSTD();
 var networkSt  = DbTef#getNetworkSt(db_tef);
 var siteSt     = DbTef#getSiteSt(db_tef);
 var network    = Report#getNameNetwork(networkSt);
 var siteStreet = Report#getStreetSite(siteSt);
 var siteNumber = Report#getNumberSite(siteSt);
 var siteCmpl   = Report#getComplementsSite(siteSt);

Rpt

package://tef#report/rpt.wmlsc

Possui funções para impressão de relatórios.

Sumário

Função Descrição
PRINTER_WIDTH Retorna a largura da impressora
newLine Adiciona uma ou mais linhas vazias
addLine Adiciona um item ao report
showPrintMessage Imprime a mensagem "IMPRIMINDO..." em tela
showProcessMessage Imprime a mensagem "PROCESSANDO..." em tela
performPrint Imprime os relatório

Tags

Atributo Descrição
rpt#NORMAL_SIZE() Retorna o tamanho de fonte normal.
rpt#DOUBLE_SIZE() Retorna duas vezes o tamanho da fonte.
rpt#REVERSE_FONT() Retrona o fundo preto com letra branca

PRINTER_WIDTH

rpt#PRINTER_WIDTH(printer)

Retorna a largura da impressora

Parâmetros
**printer** - Componente printer criado
Retorno
invalid ou PhType.VARIANT com o valor desejado.

newLine

rpt#newLine(report, printerWidth, lines)

Adiciona uma ou mais linhas vazias

Parâmetros
**report** - Lista onde as novas linhas serão adicionadas
**printerWidth** - Largura da linha
**lines** - Número de linhas
Retorno
nenhum

addLine

rpt#addLine(list, line , align, tag)

Adiciona um item ao report

Parâmetros
**list** - Lista onde o novo componente será adicionado
**line** - linha a ser adicionada
**align** - Alinhamento do item. Printer#ALIGN_JUSTIFY(), Printer#ALIGN_CENTER, Printer#ALIGN_LEFT, Printer#ALIGN_CENTER
**tag** -  Tag para fonte. Ver [Tags](#rpt_tags)
Retorno
nenhum

showPrintMessage

rpt#showPrintMessage( )

Imprime a mensagem "Imprimindo..." em tela.

Retorno
nenhum

showProcessMessage

rpt#showProcessMessage( )

Imprime a mensagem "Processando..." em tela.

Retorno
nenhum

performPrint

rpt#performPrint(printer, reports, detectKey)

Imprime o relatório.

Parâmetros
**printer** - Componente printer criado
**reports** - Report para ser impresso
**detectKey** - Boolean - Se deve ser detectado alguma tecla.
Retorno
Boolean - False se alguma tecla for pressionada

Service

package://phast#applet/service.wmlsc

Serviços são funcionalidades agrupadas em escopos executados anonimamente garantindo encapsulamento funcional. O conceito é semelhante ao modelo Cliente e Servidor, onde um é usuário do Serviço e outro é quem realiza de fato o Serviço. Um ponto importante nos Serviços, é que nem quem solicita nem quem executa possui conhecimento mútuo.

Através do conceito de Serviços, os Apps podem publicar seus serviços para que os demais Apps do terminal possam executá-los. Os serviços precisam ser registrados por cada App no init dos mesmos no processo de boot da aplicação.

Por exemplo, um App Financeiro pode publicar serviços relacionados a pagamento onde outros Apps também residentes no mesmo terminal podem solicitar que seja feita um pagamento usando crédito ou débito.

register

Service#register(service, script, func, inputs)

Publica um serviço, indicando quem atenderá-lo e a parametrização necessária. Se um mesmo serviço for publicado mais de uma vez, apenas o último registro estará em vigor.

Parâmetros
**service** - String que identifica unicamente o serviço. Não pode ser **invalid**.

**script** - Caminho completo para o PhScript que atenderá a solicitação de execução do serviço. Não pode ser **invalid**.

**func** - Função que atenderá a solicitação de execução do serviço. A função precisa ser declarada como **extern**, caso contrário a PhVM não a encontrará. Não pode ser **invalid**.

**inputs** - Quantidade de parâmetros que a função espera. Aceita quantidades com valor igual ou maior a ZERO.
Retorno
**Nenhum**

Exemplo:

use url  Service "package://phast#applet/service.wmlsc"
extern function hello(msg)
{
  Dialogs.alert(msg);
}

...

Service#register("test.hello", "package://test/test.wmlsc", "hello", 1);

registerExt

Service#register(service, script, func, inputs, intercept)

Publica um serviço, indicando quem atenderá-lo e a parametrização necessária. Se um mesmo serviço for publicado mais de uma vez, apenas o último registro estará em vigor.

Parâmetros
**service** - String que identifica unicamente o serviço. Não pode ser **invalid**.

**script** - Caminho completo para o PhScript que atenderá a solicitação de execução do serviço. Não pode ser **invalid**.

**func** - Função que atenderá a solicitação de execução do serviço. A função precisa ser declarada como **extern**, caso contrário a PhVM não a encontrará. Não pode ser **invalid**.

**inputs** - Quantidade de parâmetros que a função espera. Aceita quantidades com valor igual ou maior a ZERO.

**intercept** - Uma função, sem parâmetros e do mesmo pacote do segundo argumento, a ser chamada antes da execução do serviço.
Retorno
**Nenhum**
Exemplo:
use url  Service "package://phast#applet/service.wmlsc"

extern function hello()
{
  Dialogs.alert(msg);
}

extern function bye(msg)
{
  Dialogs.alert(msg);
}

...

Service#register("test.bye", "package://test/test.wmlsc", "bye", 1, "hello");

unregister

Service#unregister(service)

Desregistra um determinado serviço.

Parâmetros
**service** - String que identifica unicamente o serviço. Não pode ser **invalid**.
Retorno
**Nenhum**
Exemplo
use url  Service "package://phast#applet/service.wmlsc"


Service#register("test.hello");

execute

Service#execute(service, params)

Solicita execução de um determinado serviço.

Parâmetros
**service** - String que identifica unicamente o serviço. Não pode ser **invalid**.

**params** - Lista (PhList) contendo os parâmetros necessários para o serviço.
Retorno
Descrição ...

Exemplo:

Service#execute("test.hello", ["Hello World!!!"]

Saida:

 Hello World!!!

countArguments

Service#countArguments(service)

Conta o número de parametros de um determinado serviço.

Parâmetros
**service** - String que identifica unicamente o serviço. Não pode ser **invalid**.
Retorno
**Integer**
Exemplo
use url  Service "package://phast#applet/service.wmlsc"


var len = Service#countArguments("test.hello");
Dialogs.alert(len);
Saída
 1

isAvailable

Service#isAvailable(service)

Verifica se um determinado serviço está disponível.

Parâmetros
**service** - String que identifica unicamente o serviço. Não pode ser **invalid**.
Retorno
**Boolean**
Exemplo
use url  Service "package://phast#applet/service.wmlsc"


var isAvaiable = Service#isAvailable("test.hello");
Dialogs.alert(isAvaiable);
Saída
 true

TefMessage

package://tef#i18n/message.wmlsc

Esse modulo fornece funções com mensagens pré definidas.

Sumário

Função Descrição
CANCEL Retorna uma string com o texto "CANCELA".
ENTER Retorna uma string com o texto "ENTRA".
CONFIRM Retorna uma string com o texto "CONFIRMA".
ITEM_NOT_FOUND Retorna uma string com o texto "ITEM NAO ENCONTRADO".
OPERATION_CANCELED Retorna uma string com o texto "OPERACAO|CANCELADA".
CONFIRM_EMV Retorna uma string com o texto "Confirma transacao?".
MN_LOJISTA Retorna uma string com o texto "LOJISTA".
MN_TECNICO Retorna uma string com o texto "TECNICO".
R_TODOS_ESTABELEC Retorna uma string com o texto "TODOS SUBESTABEL.".
R_ESPEC_ESTABELEC Retorna uma string com o texto "SUBEST. ESPECIFICO".
R_DETAILED_REPORT Retorna uma string com o texto "RELATORIO DETALHADO".
R_RESUME_REPORT Retorna uma string com o texto "SUBEST. ESPECIFICO".
R_REPRINT Retorna uma string com o texto "Reimpressao".
R_CREDIT Retorna uma string com o texto "CREDITO A VISTA".
R_DEBIT Retorna uma string com o texto "DEBITO A VISTA".
R_CREDIT_PARCELLED_EC Retorna uma string com o texto "CREDITO PARCELADO|SEM JUROS".
R_CREDIT_PARCELLED_ADM Retorna uma string com o texto "CREDITO PARCELADO|COM JUROS".
R_REFUND Retorna uma string com o texto "CANCELAMENTO".
R_TOTAL_EC Retorna uma string com o texto "TOTAL POR EC".
R_BALANCE Retorna uma string com o texto "SALDO".
R_WITHDRAWAL Retorna uma string com o texto "SAQUE".
R_CARD_PAYMENT Retorna uma string com o texto "PAGAMENTO CARTAO".
R_CARD_UNLOCK Retorna uma string com o texto "DESBLOQUEIO".
R_NO_REPORT Retorna uma string com o texto "NENHUM PAGAMENTO|ENCONTRADO".
INIT_TABLE_UPDATE Retorna uma string com o texto "Atualizando|tabelas...".
INIT_FINISH_OK Retorna uma string com o texto "Inicializacao|concluida".
INIT_FINISH_ERROR Retorna uma string com o texto "FALHA NA|ATUALIZACAO".
TRNSM_FINISH_OK Retorna uma string com o texto "Transmissao|concluida".
TRNSM_FINISH_ERROR Retorna uma string com o texto "FALHA NA|TRANSMISSAO".
TITLE_ASK_PASSWORD Retorna uma string com o texto "DIGITE A SENHA".
LABEL_INFO Retorna uma string com o texto "INFORMACOES".
MSG_INVALID_PASSWORD Retorna uma string com o texto "SENHA INVALIDA".
FC_CHOOSE_FUNCTION Retorna uma string com o texto "DIGITE A FUNCAO".
FC_INVALID_FUNCTION Retorna uma string com o texto "Funcao inexistente".
FC_INACTIVE_FUNCTION Retorna uma string com o texto "Funcao inativa".
CARD_TITLE Retorna uma string com o texto "CARTAO".
CARD_HINT Retorna uma string com o texto "INSIRA OU PASE|O CARTAO".
CARD_NUMBER Retorna uma string com o texto "NUMERO DO CARTAO inativa".
R_REPRINT_SALE Retorna uma string com o texto "V".
R_REPRINT_REFUND Retorna uma string com o texto "C".
R_DATE Retorna uma string com o texto "DATA".
TEF Retorna uma string com o texto "TEF".
MAIN_SITE Retorna uma string com o texto "EC Pincipal".
SUBSITE Retorna uma string com o texto "Sub EC".
NETWORK Retorna uma string com o texto "REDE CAPTURA".
ACQUIRES Retorna uma string com o texto "Adquirentes".
PHAST Retorna uma string com o texto "PHAST".
NOME Retorna uma string com o texto "NOME".
OUTRO Retorna uma string com o texto "OUTRO".
keys Retorna uma string com o texto "Chaves".
unknow Retorna uma string com o texto "Desconhecida".
findingKeys Retorna uma string com o texto "Localizando|Chaves...".
VIA Retorna uma string com o texto "VIA".
VIA_CLIENT Retorna uma string com o texto "CLIENTE".
VIA_SITE Retorna uma string com o texto "ESTABELECIMENTO".
MAG_FALLBACK_ENABLED Retorna uma string com o texto "|TENTE PASSAR A|TARJA MAGNÉTICA".
MANUAL_FALLBACK_ENABLED Retorna uma string com o texto "|TENTE DIGITAR O|NÚMERO DO CARTÃO".
R_PREAUTHORIZATION Retorna uma string com o texto "PRÉ AUTORIZAÇÃO".
R_PREAUTHORIZATION_CONF Retorna uma string com o texto "CONFIRM. PRÉ AUT.".
R_TOTAL Retorna uma string com o texto "TOTAL.".
R_ESTAB Retorna uma string com o texto "ESTAB".
R_TERMINAL Retorna uma string com o texto "TERMINAL".
R_EMITIDO_EM Retorna uma string com o texto "EMITIDO EM".
R_QTD Retorna uma string com o texto "QTD".
R_CV Retorna uma string com o texto "CV".
R_EC Retorna uma string com o texto "EC".
R_AUTO Retorna uma string com o texto "AUTO".
R_DATE_MASK Retorna uma string com o texto "".
TYPE Retorna uma string com o texto "TIPO".
TEST_CARD_CHIP Retorna uma string com o texto "INSIRA CARTÃO|COM CHIP NA|LEITORA".
TEST_CARD_MAG Retorna uma string com o texto "PASSE O CARTÃO|PELA LEITORA DE|TARJA".
TEST_CARD_CLESS Retorna uma string com o texto "APROXIME CARTÃO|SEM CONTATO".
TEST_ERROR_READING Retorna uma string com o texto "ERRO DE LEITURA".
TEST_ERROR_TIMEOUT Retorna uma string com o texto "TEMPO EXCEDIDO".
TEST_OK Retorna uma string com o texto "*** TESTE OK ***".
LABEL_TESTS Retorna uma string com o texto "TESTES".
PRINTER_TEST Retorna uma string com o texto "*** TESTE DE IMPRESSAO ***".
KEY_PRESS Retorna uma string com o texto "PRESSIONE TECLAS".
KEY Retorna uma string com o texto "TECLA:".
KEY_MENU Retorna uma string com o texto "MENU".
KEY_INIT Retorna uma string com o texto "INICIALIZA".
KEY_REPRINT Retorna uma string com o texto "REIMPRIME".
KEY_FEED Retorna uma string com o texto "AVANÇA PAPEL".
KEY_ENTER Retorna uma string com o texto "ENTRA".
KEY_FUNC Retorna uma string com o texto "FUNC".
KEY_CANCEL Retorna uma string com o texto "CANCELA".
KEY_CLEAR Retorna uma string com o texto "LIMPA".
KEY_KEYUP Retorna uma string com o texto "CIMA".
KEY_KEYDOWN Retorna uma string com o texto "BAIXO".
READER_TEST Retorna uma string com o texto "LEITORA CARTÃO".
COMUNICATION_TEST Retorna uma string com o texto "Teste de Comunicação".
PRINTER_TEST_LABEL Retorna uma string com o texto "TESTE DE IMPRESSORA".
DISPLAY_TEST Retorna uma string com o texto "TESTE DE DISPLAY".
KEYBOARD_TEST Retorna uma string com o texto "TESTE DE TECLADO".
KEYS_TEST Retorna uma string com o texto "Teste de Chaves".
READER_CHIP_TEST Retorna uma string com o texto "LEITORA DE CHIP".
READER_MAG_TEST Retorna uma string com o texto "TESTE DE LEITORA DE CARTÃO".
READER_CLESS_TEST Retorna uma string com o texto "LEITORA DE|CARTÃO SEM CONTATO".
PTR_EQUIPMENT_TEST Retorna uma string com o texto "TESTE DE EQUIPAMENTO".
PTR_READER_TEST Retorna uma string com o texto "LEITORA".
PTR_COMM_TEST Retorna uma string com o texto "COMUNICAÇÃO".
PTR_PRINTER_TEST Retorna uma string com o texto "IMPRESSORA".
PTR_DISPLAY_TEST Retorna uma string com o texto "DISPLAY".
PTR_KEYBOARD_TEST Retorna uma string com o texto "TECLADO".
PTR_KEYS_TEST Retorna uma string com o texto "CHAVES".
PTR_TEST_OK Retorna uma string com o texto "OK".
PTR_TEST_NOT_OK Retorna uma string com o texto "NÃO OK".
ASK_PRINT_REPORT Retorna uma string com o texto "DESEJA IMPRIMIR O|RELATÓRIO DETALHADO?".
PRINT_SUMMARY Retorna uma string com o texto "RESUMIDO".
PRINT_DETAILED Retorna uma string com o texto "DETALHADO".
REPORTS Retorna uma string com o texto "RELATÓRIOS".
OPERATION_NOT_PERFORMED Retorna uma string com o texto "OPERAÇÃO|NÃO EFETUADA".
OFFLINE_DATA_NOT_SEND Retorna uma string com o texto "EXISTEM INFORMAÇÕES|NÃO ENVIADAS".
CARD_FMT_MANUAL Retorna uma string com o texto "MAN".
CARD_FMT_TARJA Retorna uma string com o texto "MAG".
CARD_FMT_CHIP Retorna uma string com o texto "CHIP".
CARD_FMT_CONTACTLESS Retorna uma string com o texto "LESS".
EXECUTE_ALL_TESTS Retorna uma string com o texto "EXECUTAR TODOS".
ERROR_PRINTER Retorna uma string com o texto "ERRO CONECTANDO A|IMPRESSORA".
READER_CLESS_MSG Retorna uma string com o texto "APROXIME,|INSIRA OU PASSE|CARTÃO".
READER_MSG Retorna uma string com o texto "INSIRA OU PASSE|O CARTÃO".
FINISH_TEST Retorna uma string com o texto "TESTE TERMINAL|CONCLUÍDO".
READER_SMART_TEST Retorna uma string com o texto "TESTE DE CHIP CONTATO".
READER_CHIP_CLESS Retorna uma string com o texto "TESTE DE CHIP SEM CONTATO".
TOUCH_TEST_ERROR Retorna uma string com o texto "TOQUE DE TELA|SEM SUCESSO".
TOUCH_TEST Retorna uma string com o texto "TESTE DE TOQUE|DE TELA".
TOUCH_DISPLAY_TEST Retorna uma string com o texto "TESTE DE TOQUE DE DISPLAY".
PRINT_MSG Retorna uma string com o texto "Imprimir".
R_DEBIT_PRE_DATED Retorna uma string com o texto "DEBITO PRÉ-DATADO".
R_VOUCHER_FOOD Retorna uma string com o texto "VALE ALIMENTAÇÃO".
R_VOUCHER_MEAL Retorna uma string com o texto "VALE REFEIÇÃO".
CARD_HINT_ALL Retorna uma string com o texto "Aproxime,|Insira ou passe|o cartão##Aproxime| ou Insira|o cartão##Aproxime| ou passe|o cartão##Insira ou passe|o cartão##Aproxime|o cartão##Insira|o cartão##Passe|o Cartão".
NUM_SER_TERM Retorna uma string com o texto "NUM SERIE TERM".
NUM_SER_SIMCARD Retorna uma string com o texto "NUM SERIE SIMCARD".
TOTAL_RAM Retorna uma string com o texto "MEMORIA TOTAL".
AVAILABLE_RAM Retorna uma string com o texto "MEMORIA DISPONÍVEL".
PRODUCT Retorna uma string com o texto "PRODUTO".
SO Retorna uma string com o texto "SISTEMA OPERACIONAL".
ORIGIN_DATE Retorna uma string com o texto "DIGITE TRANS ORIG:".
DOC_NUMBER Retorna uma string com o texto "NÚMERO DO DOC:".
OPERATION_NOT_ALLOWED Retorna uma string com o texto "OPERAÇÃO NÃO PERMITIDA".
TRANSACTION_NOT_FOUND Retorna uma string com o texto "TRANSAÇÃO NÃO|LOCALIZADA NO LOG".
INVALID_DATE Retorna uma string com o texto "DATA INVÁLIDA".
VIA_TODAS Retorna uma string com o texto "TODOS".
REPRINT_OK Retorna uma string com o texto "Reimpressão OK".
R_VOUCHER Retorna uma string com o texto "VOUCHER".
R_PREAUTH_SUBST Retorna uma string com o texto "PRE AUT. SUBST.".
R_PREAUTH_PARCELLED_EC Retorna uma string com o texto "PRÉ AUT SEM JUROS".
R_PREAUTH_PARCELLED_ADM Retorna uma string com o texto "PRÉ AUT COM JUROS".
LAST_TRANSACTION_APPROVED Retorna uma string com o texto "ÚLTIMA TRANSAÇÃO REALIZADA".
INVALID_VALUE_ERROR Retorna uma string indicando que o valor passado é inválido.
INVALID_PARCELL_ERROR Retorna uma string indicando que o valor passado é inválido.
INVALID_PARCELL_VALUE_ERROR Retorna uma string indicando que a parcela recebida é inválida.
INVALID_PARCELL_VALUE_LOWER_ERROR Retorna uma string indicando que o valor recebido não pode ser menor que o min.
INVALID_PARCELL_VALUE_HIGHER_ERROR Retorna uma string indicando que o valor recebido não pode ser maior que max.
getAsStringCurrency Recebe como parametro o valor e o simbolo monetario, retorna a string com o valor monetario.

INVALID_VALUE_ERROR

TefMessage#INVALID_VALUE_ERROR(cur, min, max, value)

Retorna uma string indicando que o valor passado é inválido ou seja não está entre o valor minimo e máximo.

Parâmetros
**cur** - String contento a moeda de formatação

**min** - String contendo o valor minimo

**max** - String contendo o valor máximo

**value** - String contendo o valor recebido
Retorno
String indicando que o valor passado é inválida.

Exemplo:

url TefMessage    "package://tef#i18n/message.wmlsc"

var min   = "200";
var max   = "800";
var value = "1000";
var cur   = "R$";

var str = TefMessage#INVALID_VALUE_ERROR(cur, min, max, value);
Dialogs.alert(str);

Saida:

VALOR INVALIDO|(R$ 10,00)||DEVE SER ENTRE|R$ 2,00 E R$ 8,00

INVALID_PARCELL_ERROR

TefMessage#INVALID_PARCELL_ERROR(min, max, value)

Retorna uma string indicando que a parcela recebida é inválida ou seja não está entre a parcela minima e máxima.

Parâmetros
**min** - String contendo a parcela minima

**max** - String contendo a parcela máxima

**value** - String contendo a parcela recebida
Retorno
String indicando que a parcela recebida é inválida.

Exemplo:

url TefMessage    "package://tef#i18n/message.wmlsc"

var min   = "2";
var max   = "12";
var value = "16";

var str = TefMessage#INVALID_PARCELL_ERROR(min, max, value);
Dialogs.alert(str);

Saida:

QUANTIDADE INVALIDA|(16)||DEVE SER ENTRE|2 E 12

INVALID_PARCELL_VALUE_ERROR

TefMessage#INVALID_PARCELL_VALUE_ERROR(cur, min, max, value)

Retorna uma string indicando que a parcela passada é inválida ou seja não está entre a parcela minima e máxima.

Parâmetros
**cur** - String contento a moeda de formatação

**min** - String contendo o valor da parcela minima

**max** - String contendo o valor da parcela máxima

**value** - String contendo o valor da parcela recebida
Retorno
String indicando que o valor da parcela passada é inválida.

Exemplo:

url TefMessage    "package://tef#i18n/message.wmlsc"

var cur   = "R$";
var min   = "2000";
var max   = "20000";
var value = "1000";

var str = TefMessage#INVALID_PARCELL_VALUE_ERROR(cur, min, max, value);
Dialogs.alert(str);

Saida:

VALOR DA|PARCELA INVALIDO|(R$ 10,00)||DEVE SER ENTRE|R$ 20,00 E R$ 200,00

INVALID_PARCELL_VALUE_LOWER_ERROR

TefMessage#INVALID_PARCELL_VALUE_LOWER_ERROR(cur, min, max, value)

Vai retornar uma string que indica que o valor passado deve ser maior que min

Parâmetros
**cur** - String contento a moeda de formatação

**min** - String contendo o valor minimo da parcela

**max** - String contendo o valor maximo da parcela

**value** - String contendo o valor da parcela recebida
Retorno
String indicando que o valor da parcela não pode ser menor que o valor min passado

Exemplo:

url TefMessage    "package://tef#i18n/message.wmlsc"

var cur   = "R$";
var min   = "2000";
var max   = "20000";
var value = "1000";

var str = TefMessage#INVALID_PARCELL_VALUE_LOWER_ERROR(cur, min, max, value);
Dialogs.alert(str);

Saida:

VALOR DA|PARCELA INVALIDO|(R$ 10,00)||DEVE SER MAIOR QUE|R$ 20,00

INVALID_PARCELL_VALUE_HIGHER_ERROR

TefMessage#INVALID_PARCELL_VALUE_HIGHER_ERROR(cur, min, max, value)

Vai retornar uma string que indica que o valor passado deve ser menor que max

Parâmetros
**cur** - String contento a moeda de formatação

**min** - String contendo o valor minimo da parcela

**max** - String contendo o valor maximo da parcela

**value** - String contendo o valor da parcela recebida
Retorno
String indicando que o valor da parcela não pode ser maior que o valor max passado

Exemplo:

url TefMessage    "package://tef#i18n/message.wmlsc"

var cur   = "R$";
var min   = "2000";
var max   = "20000";
var value = "25000";

var str = TefMessage#INVALID_PARCELL_VALUE_HIGHER_ERROR(cur, min, max, value);
Dialogs.alert(str);

Saida:

VALOR DA|PARCELA INVALIDO|(R$ 250,00)||DEVE SER MENOR QUE|R$ 200,00

getAsStringCurrency

TefMessage#getAsStringCurrent(value, currency)

Retorna o valor passado formato com a currency passada

Parâmetros
**value** - String contendo o valor a ser formatado

**currency** - String contento a moeda de formatação
Retorno
String formatada

Exemplo:

url TefMessage    "package://tef#i18n/message.wmlsc"

var value   = "2000";
var currenc = "R$";

var str = TefMessage#getAsStringCurrency(value, currenc);
Dialogs.alert(str);

Saida:

R$ 20,00

Util

package://paystore#util/util.wmlsc

Este módulo fornece funções utilitárias

Sumário

Função Descrição
**addListToList Adiciona o conteudo de uma lista em outra.
**createListSize Cria uma lista com o tamanho passado.
**getFileNameFromPath. Pega o nome do arquivo dado seu path.
**getNationalId Retorna o identificador no ec.
**getSerialNumber Retorna o serial do terminal.
**getPinpadSerialNumber Retorna o serial do pinpad.
**configURL Configura a url de comunicação com a paystore.
**getAppNameFromInfo Retorna o nome e a versão do aplicativo.
**getTerminalId Retorna o id do terminal.
**getSiteId Retorna o id do estabelecimento.

addListToList

Util#addListToList(listTo, listFrom)

Adiciona o conteudo de uma lista em outra lista.

Parâmetros
**listTo** - Lista que vai receber os novos elementos.

**listFrom** - Lista que vi fornecer os elementos.
Retorno
Não possui r Retorno.

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

var listTo = [1, 2, 3];
var listFrom = [4, 5, 6];

Util#addListToList(listTo, listFrom);
Dialogs.alert(String.toString(PhList.count(listTo)));

Saida:

6

creatListSize

Util#createListSize(size)

Cria uma lista com o tamanho passado cujos elementos serão invalid.

Parâmetros
**size** - Inteiro que indica o tamanho da lista que deseja criar.
Retorno
Retorna um PhList de tamanho size

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

var lista = Util#createListSize(4);

Dialogs.alert(String.toString(PhList.count(lista)));

Saida:

4

getFileNameFromPath

Util#getFileNameFromPath(path)

Retorna o nome do arquivo dado o path

Parâmetros
**path** - Caminho para o arquivo
Retorno
Retorna uma string com o nome do arquivo

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

var p = "package://utils/utils.wmlsc";
var fileName = Util#getFileNameFromPath(p);
Dialogs.alert(String.toString(fileName));

Saida:

utils

getNationalId

Util#getNationalId()

Retorna o identificador do ec

Retorno
Retorna uma string com o identificador do terminal

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

var id = Util#getNationalId();
Dialogs.alert(String.toString(id));

Saida:

12345678912345

getSerialNumber

Util#getSerialNumber()

Retorna o número serial do terminal

Retorno
Retorna uma string com o serial do terminal

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

var serial = Util#getSerialNumber();
Dialogs.alert(String.toString(serial));

Saida:

1234567890

getPinpadSerialNumber

Util#getPinpadSerialNumber()

Retorna o número serial do pinpad

Retorno
Retorna uma string com o serial do pinpad

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

var serial = Util#getPinpadSerialNumber();
Dialogs.alert(String.toString(serial));

Saida:

1234567890

configURL

Util#configURL()

Vai solicitar ao operador a url de comunicação com a paystore

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

Util#configURL();

getAppNameFromInfo

Util#getAppNameFromInfo(info)

Vai pegar o nome e a versão do aplicativo do model de info

Parametros

info - PhList(model) - Model do tipo Info

Retorno
Retorna uma string com o nome e versão do aplicativo

Exemplo:

use url Util  "package://paystore#util/util.wmlsc";

var info = Info#create();
Info#setName(info, "app name");
Info#setFileVersionName(info, "1.0.0");
var name = Util#getAppNameFromInfo(info);
Dialogs.alert(name);

Saida:

app name (1.0.0)

getTerminalId

Util#getTerminalId(PhASTCfg)

Vai retornar o id do terminal

Parametros

PhASTCfg - PhStruct - Struct

Retorno
Retorna o id do terminal

Exemplo:

use url Util           "package://paystore#util/util.wmlsc";
use url PhastConfig   "package://phast#utils/local_config.wmlsc";

var PhASTCfg = PhastConfig#getCfgData();
var id = Util#getSiteId(PhASTCfg);
Dialogs.alert(id);

Saida:

DEVSAMPLE

getSiteId

Util#getSIteId(PhASTCfg)

Vai retornar o id do estabelecimento

Parametros

PhASTCfg - PhStruct - Struct

Retorno
String com o id do estabelecimento

Exemplo:

use url Util          "package://paystore#util/util.wmlsc";
use url PhastConfig   "package://phast#utils/local_config.wmlsc";

var PhASTCfg = PhastConfig#getCfgData();
var id = Util#getSiteId(PhASTCfg);
Dialogs.alert(id);

Saida:

000123

Validator

package://phast#utils/validator.wmlsc

Este módulo fornece funções para validações diversas como cpf, cnpj, email etc

validateCpf

Validator#validateCpf(cpf)

Executa a validação do cpf informado.

Parâmetros
**cpf** - cpf que se deseja validar sem pontos e traço.
Retorno
**true** se o cpf informado for um cpf válido. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var cpf = "00000000000";
if (Val#validateCpf(cpf))
{
 Message#showMessage("CPF valido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("CPF invalido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

CPF inválido!

validateDate

Validator#validateDate(date)

Verifica se a data informada é válida.

Parâmetros
**date** - string contendo uma data no formato "DDMMYYYY"
Retorno
**true** se a data informada for uma data válida. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

function testDate(date)
{
 if (Val#validateDate(date))
 {
   Message#showMessage("Data valida!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
 }
 else
 {
   Message#showMessage("Data invalida!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

 }
}

extern function valid()
{
 var date = "12062017";
 testDate(date);
 date     = "12152017";
 testDate(date);

}

Saida:

Data valida!
Data invalida!

validateTime

Validator#validateTime(time)

Verifica se a hora informada é válida.

Parâmetros
**date** - string contendo uma hora no formato "hhmmss"
Retorno
**true** se a hora informada for uma hora válida. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

function testTime(time)
{
 if (Val#validateTime(time))
 {
   Message#showMessage("Hora valida!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
 }
 else
 {
   Message#showMessage("Hora invalida!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

 }
}

extern function valid()
{
 var time = "104400";
 testTime(time);
 time     = "304400";
 testTime(time);

}

Saida:

Hora valida!
Hora invalida!

validateDateTime

Validator#validateDateTime(dateTime)

Verifica se data e hora informados são válidos.

Parâmetros
**dateTime** - string contendo uma data e hora no formato "DDMMYYYYhhmmss"
Retorno
**true** se a data e hora informados forem data e hora válidos. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

function testDateTime(dateTime)
{
 if (Val#validateTime(dateTime))
 {
   Message#showMessage("Data e hora validos!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
 }
 else
 {
   Message#showMessage("Data e hora invalidos!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());

 }
}

extern function valid()
{
 var dateTime = "12062017104400";
 testDateTime(dateTime);
 dateTime     = "12062017304400";
 testDateTime(dateTime);

}

Saida:

Data e hora validos!
Data e hora invalidos!

validateEmail

Validator#validateEmail(email)

Faz a validação do email informado. A string com o email deve estr no formato [@.*]. Pelo menos 5 caracteres deve ser informado. As strings representadas pela máscara "*" são obrigatórias. Os caracteres "##" e ";" são inválidos.

Parâmetros
**email** - string com o email a ser validado.
Retorno
**true** se o email informado é válido. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var email = "teste@phoebus.com.br";
if (Val#validateEmail(email))
{
 Message#showMessage("email valido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("email invalido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

email valido

validateFullName

Validator#validateFullName(fullName)

Faz a validação de nome e sobrenome

Parâmetros
**fullName** - string contendo o nome e sobrenome a validar. O formato dever ser [* *] e deve conter

pelo menos 3 caracteres.

Retorno
**true** se o nome informado é válido. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var nome = "Joao Batista";
if (Val#validateFullName(nome))
{
 Message#showMessage("nome valido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("nome invalido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

nome valido!

validateOnKeyPressName

Validator#validateOnKeyPressName(key, fullName)

Faz a validação de um nome a partir da tecla pressionada e do próprio nome. Essa função é útil para forçar a digitação a aceitar apenas as teclas válidas para um nome.

Parâmetros
**key** - tecla pressionada.

**fullName** - nome a validar.
Retorno
a própria tecla se o nome é válido e a tecla for uma letra ou espaço em branco. Caso contrário será retornado **PhKeyBoard.KEY_NONE**

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";
use url Display    "package://phast#utils/display.wmlsc";

var key = PhKeyBoard.KEY_NONE;
var nome = "nome: ";
Display#showMessageAndTitle(invalid, nome);
while (key != PhKeyBoard.KEY_ENTER)
{
 key = PhKeyBoard.getKey(true);
 if (Val#validateOnKeyPressName(key, nome))
 {
   nome += String.getChar(key);
   Display#showMessageAndTitle("Saída", nome);
 }
}

Saida:

nome: nome digitado

validateOnKeyPressEmail

Validator#validateOnKeyPressEmail(key)

Faz a validação de um email a partir da tecla pressionada. Essa função converte as teclas válidas para email de acordo com o terminal que está sendo executada a aplicação.

Parâmetros
**key** - tecla pressionada.
Retorno
a tecla convertida de acordo com o terminal. ou **PhKeyBoard.KEY_NONE** se não houver conversão.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";
use url Display    "package://phast#utils/display.wmlsc";

var key = PhKeyBoard.KEY_NONE;
var email = "email: ";
Display#showMessageAndTitle(invalid, email);
while (key != PhKeyBoard.KEY_ENTER)
{
 key = PhKeyBoard.getKey(true);
 if (Val#validateOnKeyPressEmail(key))
 {
   email += String.getChar(key);
   Display#showMessageAndTitle("Saída", email);
 }
}

Saida:

email: email digitado

validateCEP

Validator#validateCEP(cep)

Verifica se o cep informado é válido.

Parâmetros
**cep** - string com o cep a ser validado, sem formatação.
Retorno
**true** se o cep informado é válido. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var cep = "00000000";
if (Val#validateCEP(cep))
{
 Message#showMessage("o cep eh valido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("o cep nao eh valido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}

Saida:

o cep nao eh valido

validateFutureDate

Validator#validateFutureDate(date)

Verifica se a data informada é futura.

Parâmetros
**date** - string com a data a ser verificada. A data deve estar no formato "DDMMYYYY"
Retorno
**true** se a data informada é futura. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var date = "13062017";
if (Val#validateFutureDate(date))
{
 Message#showMessage("a data eh futura!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("a data nao eh futura!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
Saida:
a data eh futura!

validateCNPJ

Validator#validateCNPJ(cnpj)

Verifica se o cnpj informado é válido.

Parâmetros
**cnpj** - string com o cnpj a ser validado. O cnpj informado deverá estar sem formatação (apenas com números, sem pontos e traço).
Retorno
**true** se o cnpj informado é válido. **false** em caso contrário.

Exemplo:

use url Val        "package://phast#utils/validator.wmlsc";
use url Message    "package://tefui#ui/message.wmlsc";

var cnpj = "12345678901234";
if (Val#validateCNPJ(cnpj))
{
 Message#showMessage("o cnpj eh valido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
else
{
 Message#showMessage("o cnpj nao eh valido!", Message#DELAY_ALERT(), Message#BEEP_MESSAGE());
}
Saida:
o cnpj não é válido!